СÑандаÑÑиÑе PDF/A и PDF/UA оÑговаÑÑÑ Ð½Ð° два коÑенно ÑазлиÑни вÑпÑоÑа, а ÑазглежданеÑо им каÑо обÑа оÑмеÑка за доÑÑÑпноÑÑ Ð¸ аÑÑ Ð¸Ð²Ð¸Ñане води до изпÑаÑанеÑо на некоÑекÑни Ñайлове в аÑÑ Ð¸Ð²Ð° под пÑедлог, Ñе Ñа ÑÑвмеÑÑими. PDF/A опÑÐµÐ´ÐµÐ»Ñ Ð´Ð°Ð»Ð¸ даден Ñайл Ñе Ñе изобÑазÑва коÑекÑно Ñлед двадеÑÐµÑ Ð³Ð¾Ð´Ð¸Ð½Ð¸. PDF/UA опÑÐµÐ´ÐµÐ»Ñ Ð´Ð°Ð»Ð¸ аÑиÑÑенÑÑкиÑе ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ Ð¼Ð¾Ð³Ð°Ñ Ð´Ð° го пÑоÑеÑÐ°Ñ Ð´Ð½ÐµÑ. Ðаден докÑÐ¼ÐµÐ½Ñ Ð¼Ð¾Ð¶Ðµ да пÑемине еднаÑа пÑовеÑка и напÑлно да Ñе пÑовали на дÑÑгаÑа, заÑова надеждноÑо заклÑÑение изиÑква изпÑлнениеÑо и на двеÑе пÑовеÑки пÑеди запиÑванеÑо на Ñайла, а не Ñлед каÑо ÑиÑÑемаÑа Ñе довеÑи на еÑикеÑа в меÑаданниÑе. Този иденÑиÑикаÑÐ¾Ñ Ðµ пÑоÑÑо ÑамодеклаÑаÑиÑ: ниÑо вÑв ÑоÑмаÑа не изиÑква Ñой да бÑде веÑен и пÑиложение, коеÑо запиÑва "PDF/A-1b" в XMP меÑаданниÑе без Ñеална пÑовеÑка, генеÑиÑа Ñайл, койÑо изглежда ÑÑвмеÑÑим Ñамо за ÑеÑÑиÑе, коиÑо Ñе довеÑÑÐ²Ð°Ñ ÑлÑпо на еÑикеÑа. losLab PDF Library (PDFlibPas) ÑеÑава Ñози пÑоблем за Delphi и C++Builder, каÑо вгÑажда дваÑа валидаÑоÑа диÑекÑно в библиоÑекаÑа, коеÑо позволÑва изпÑлнениеÑо на пÑовеÑкиÑе в ÑамкиÑе на пÑоÑеÑа без вÑнÑни ÑÑлÑги.
Ðва ÑÑандаÑÑа, коиÑо оÑÑ Ð²ÑÑлÑÑ Ñайлове по ÑазлиÑни пÑиÑини
ISO 19005 (PDF/A) е Ð´Ð¾Ð³Ð¾Ð²Ð¾Ñ Ð·Ð° вÑзпÑоизвеждане: ÑÑвмеÑÑим Ñайл ÑÑÑбва да Ñе изобÑазÑва иденÑиÑно Ñлед деÑеÑилеÑÐ¸Ñ Ð½Ð° ÑоÑÑÑеÑ, койÑо никога не е имал вÑÑзка ÑÑÑ ÑиÑÑемаÑа, коÑÑо го е ÑÑздала, заÑова пÑавилаÑа огÑаниÑÐ°Ð²Ð°Ñ Ð²ÑнÑниÑе завиÑимоÑÑи: задÑлжиÑелно вгÑаждане на ÑÑиÑÑове, ÑвеÑове, обвÑÑзани Ñ ICC OutputIntent или деÑиниÑани в незавиÑимо ÑвеÑово пÑоÑÑÑанÑÑво, забÑана на ÑиÑÑиÑане в PDF/A-1, липÑа на JavaScript и ÑÑоÑвеÑÑÑвие на XMP меÑаданниÑе Ñ ÑеÑника на докÑменÑа. СÑандаÑÑÑÑ ISO 14289 (PDF/UA) е Ð´Ð¾Ð³Ð¾Ð²Ð¾Ñ Ð·Ð° ÑеманÑика: аÑиÑÑенÑÑкиÑе ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ ÑÑÑбва да Ð¼Ð¾Ð³Ð°Ñ Ð´Ð° Ð¾Ð±Ñ Ð¾Ð´ÑÑ Ð´Ð¾ÐºÑменÑа и да Ð¸Ð·Ð²Ð»ÐµÐºÐ°Ñ ÑмиÑÑл, коеÑо Ñе намиÑа в ÑазлиÑен Ñлой: пÑлно дÑÑво на ÑÑÑÑкÑÑÑаÑа, алÑеÑнаÑивен ÑекÑÑ Ð·Ð° изобÑажениÑ, заглавие на докÑменÑа за показване, поÑледоваÑелноÑÑ Ð½Ð° заглавиÑÑа без пÑопÑÑнаÑи нива и логиÑеÑки вÑÑзки в ÑаблиÑиÑе.
ТÑй каÑо дваÑа ÑÑандаÑÑа конÑÑолиÑÐ°Ñ ÑазлиÑни нива, най-пÑоблемни Ñа докÑменÑиÑе, коиÑо Ñе намиÑÐ°Ñ Ð¼ÐµÐ¶Ð´Ñ ÑÑÑ . Файл Ñ Ð¿ÐµÑÑекÑно аÑÑ Ð¸Ð²Ð¸Ñане може да бÑде напÑлно безполезен за екÑанен ÑеÑеÑ, а докÑÐ¼ÐµÐ½Ñ Ñ Ð¾ÑлиÑно ÑÑÑÑкÑÑÑиÑани Ñагове може да пÑепÑаÑа кÑм ÑÑиÑÑ, койÑо нÑма да ÑÑÑеÑÑвÑва Ñлед деÑÐµÑ Ð³Ð¾Ð´Ð¸Ð½Ð¸. ÐÑбликаÑииÑе в пÑблиÑÐ½Ð¸Ñ ÑекÑÐ¾Ñ Ñа ÑипиÑен пÑÐ¸Ð¼ÐµÑ Ð·Ð° изиÑкване на дваÑа ÑÑандаÑÑа едновÑеменно, каÑо пÑоÑеÑиÑе не Ð¼Ð¾Ð³Ð°Ñ Ð´Ð° ги обединÑÑ Ð² една обÑа Ñаза. РезÑлÑаÑиÑе Ñе изпÑаÑÐ°Ñ Ð´Ð¾ ÑазлиÑни екипи: липÑаÑа на вгÑадени ÑÑиÑÑове е пÑоблем в кода за генеÑиÑане на PDF, докаÑо липÑваÑиÑÑ Ð°Ð»ÑеÑнаÑивен ÑекÑÑ Ðµ оÑговоÑноÑÑ Ð½Ð° авÑоÑиÑе на ÑÑдÑÑжаниеÑо, а ÑмеÑен оÑÑÐµÑ Ð¿ÑоÑÑо Ñе бÑде пÑепÑаÑен на два ÑазлиÑни адÑеÑа.
ÐÐ¾Ñ Ð²ÐµÑÑÐ¸Ñ Ð½Ð° PDF/A избиÑаÑе е Ñолкова важно, колкоÑо и ÑамоÑо ÑÑвмеÑÑимоÑÑ. PDF/A-1 е базиÑан на PDF 1.4 и оÑÑ Ð²ÑÑÐ»Ñ Ð¿ÑозÑаÑноÑÑ Ð¸ JPEG2000, коиÑо ÑÑвÑеменниÑе ÑиÑÑеми Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°Ñ Ñедовно. PDF/A-2 (ISO 19005-2, базиÑан на ISO 32000-1) поддÑÑжа и двеÑе и е ÑазÑмниÑÑ Ð¸Ð·Ð±Ð¾Ñ Ð¿Ð¾ подÑазбиÑане за нови аÑÑ Ð¸Ð²Ð¸. PDF/A-3 оÑива по-Ð´Ð°Ð»ÐµÑ Ð¸ позволÑва вгÑаждане на вÑÑкакви Ñайлове, на коеÑо ÑазÑиÑÐ°Ñ ÑоÑмаÑиÑе за елекÑÑонни ÑакÑÑÑи. Ðкип, койÑо пÑез 2026 г. вÑе оÑе изиÑква ÑÑвмеÑÑимоÑÑ Ñ PDF/A-1b, веÑоÑÑно Ñледва пÑавила, напиÑани пÑеди пеÑнадеÑÐµÑ Ð³Ð¾Ð´Ð¸Ð½Ð¸, каÑо пÑомÑнаÑа на изиÑкваниÑÑа кÑм по-нова веÑÑÐ¸Ñ ÑеÑÑо е по-евÑина Ð¾Ñ Ð¿ÑÐµÐ¼Ð°Ñ Ð²Ð°Ð½ÐµÑо на пÑозÑаÑноÑÑÑа Ð¾Ñ Ð³ÑаÑикиÑе на ÑиÑÑемаÑа.
СÑÑÑкÑÑÑиÑани конÑÑаÑаÑии пÑи пÑиемане
ÐÑ
однаÑа ÑоÑка в оÑÐ½Ð¾Ð²Ð½Ð¸Ñ API е CheckFileCompliance, Ñ ÑеÑÑ 1 за PDF/A и 2 за PDF/UA. Ð¢Ñ Ð²ÑÑÑа деÑкÑипÑÐ¾Ñ Ð½Ð° ÑпиÑÑк Ñ Ð½Ð¸Ð·Ð¾Ð²Ðµ, ÑÑдÑÑÐ¶Ð°Ñ Ð¾Ñделни конÑÑаÑаÑии на вÑеки Ñед, коеÑо е Ñдобен ÑоÑÐ¼Ð°Ñ Ð·Ð° авÑомаÑизиÑана обÑабоÑка:
function GateArchiveUpload(Pdf: TPDFlib; const FileName: string): Boolean;
var
ListId, I: Integer;
begin
ListId := Pdf.CheckFileCompliance(FileName, '', 1, 0); // 1 = PDF/A
if ListId = 0 then
begin
// 0 means "no findings" OR "file unreadable" -- disambiguate before passing
Result := Pdf.LastErrorCode = 0;
Exit;
end;
for I := 0 to Pdf.GetStringListCount(ListId) - 1 do
LogFinding(FileName, Pdf.GetStringListItem(ListId, I));
Pdf.ReleaseStringList(ListId);
Result := False;
end;
Ðве подÑобноÑÑи опÑеделÑÑ Ð´Ð°Ð»Ð¸ пÑоÑеÑÑÑ Ð¼Ð¾Ð¶Ðµ да ÑабоÑи без ÑовеÑка намеÑа. ÐÑÑваÑа е вÑÑнаÑа ÑÑойноÑÑ, коÑÑо ознаÑава две коÑенно ÑазлиÑни неÑа: CheckFileCompliance вÑÑÑа 0 пÑи пÑлна ÑÑвмеÑÑимоÑÑ, но и когаÑо ÑайлÑÑ Ð¸Ð·Ð¾Ð±Ñо не може да бÑде оÑвоÑен, ÑÑй каÑо в кода пÑазниÑÑ ÑезÑлÑÐ°Ñ ÑÑвпада Ñ Ð½Ñла. ÐвÑомаÑиÑен пÑоÑеÑ, койÑо ÑÑлкÑва 0 каÑо ÑÑпеÑ
, Ñе пÑопÑÑне повÑедени Ñайлове в аÑÑ
ива, заÑова напÑавеÑе ÑазгÑаниÑение ÑÑез LastErrorCode, пÑеди да Ñе довеÑиÑе на нÑÐ»ÐµÐ²Ð¸Ñ ÑезÑлÑаÑ. ÐÑоÑаÑа подÑобноÑÑ Ðµ моменÑÑÑ Ð½Ð° пÑовеÑка: модÑлÑÑ ÑабоÑи Ñ ÑеÑÐµÑ Ð·Ð° Ñподелен доÑÑÑп вмеÑÑо Ñ Ð¿ÑÐ»Ð½Ð¸Ñ Ð¾Ð±ÐµÐºÑен модел, каÑо оÑваÑÑ Ñайла за Ñподелено ÑеÑене без извикване на LoadFromFile. Това позволÑва обÑабоÑка на много големи Ñайлове без наÑоваÑване на памеÑÑа, но Ñе пÑовалÑ, ако дÑÑг пÑоÑÐµÑ Ð²Ñе оÑе запиÑва вÑв Ñайла (напÑÐ¸Ð¼ÐµÑ Ð¿Ð¾ вÑеме на каÑване). ÐзпÑлнÑвайÑе пÑовеÑкаÑа Ñлед завÑÑÑване на ÑÑанÑÑеÑа.
СÑÑийминг аÑÑ
иÑекÑÑÑаÑа дава пÑедимÑÑво пÑи голÑмо наÑоваÑване: вÑÑка пÑовеÑка оÑваÑÑ Ñайла Ñамо за ÑеÑене, коеÑо позволÑва паÑалелен Ð¾Ð´Ð¸Ñ Ð² ÑазлиÑни ниÑки или пÑоÑеÑи Ñ Ð¾Ñделни инÑÑанÑии на TPDFlib без конÑликÑи за доÑÑÑп. РеÑÑÑÑÑÑ, койÑо изиÑква внимание, е ÑамиÑÑ Ð´ÐµÑкÑипÑоÑ: вÑеки ненÑлев ÑезÑлÑÐ°Ñ Ð¾Ñ CheckFileCompliance оÑÑава заделен в памеÑÑа до извикване на ReleaseStringList, каÑо пÑопÑÑканеÑо на Ñова извикване води до бавно изÑиÑане на Ð¿Ð°Ð¼ÐµÑ Ð² дÑлго ÑабоÑеÑи пÑоÑеÑи.
ÐÑÑеÑи за поÑÑебиÑели и ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ð·Ð° пÑоÑеÑиÑе на компилаÑиÑ
СпиÑÑкÑÑ Ñ ÐºÐ¾Ð½ÑÑаÑаÑии е подÑ
одÑÑ Ð·Ð° авÑомаÑизиÑани ÑиÑÑеми, но е неизползваем за изпÑаÑане по имейл. ÐеÑодÑÑ CreatePreflightReport пÑедÑÑÐ°Ð²Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° в ÑеÑим ÑекÑÑов ÑоÑмаÑ, CreatePreflightReportEx Ð´Ð¾Ð±Ð°Ð²Ñ Ð¸Ð·Ð±Ð¾Ñ Ð½Ð° изÑ
оден ÑоÑмаÑ, а SavePreflightReport запиÑва оÑÑеÑа на диÑка за пакеÑиÑане Ñ Ð´Ð¾ÐºÑменÑа. ЧеÑÑо договоÑиÑе за аÑÑ
ивиÑане изиÑÐºÐ²Ð°Ñ Ñози оÑÑÐµÑ ÐºÐ°Ðº задÑлжиÑелен ÑÑпÑÑÑÑÐ²Ð°Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ, а не Ñамо за вÑÑÑеÑни Ñели.
ФÑнкÑиÑÑа Ð¾Ñ Ñази ÑамилиÑ, коÑÑо е изклÑÑиÑелно полезна, е ComparePreflightReports. СÑвмеÑÑимоÑÑÑа е Ð¾Ð±ÐµÐºÑ Ð½Ð° ÑегÑеÑиÑ, подобно на вÑÑка дÑÑга логика: пÑомÑна в ÑаблониÑе, нов лиÑензиÑан ÑÑиÑÑ Ð¸Ð»Ð¸ акÑÑализаÑÐ¸Ñ Ð½Ð° библиоÑека Ð¼Ð¾Ð³Ð°Ñ Ð´Ð° Ð´Ð¾Ð²ÐµÐ´Ð°Ñ Ð´Ð¾ нови неÑÑоÑвеÑÑÑÐ²Ð¸Ñ Ð±ÐµÐ· пÑедÑпÑеждение. ÐоддÑÑжайÑе еÑалонни оÑÑеÑи (golden reports) за пÑедÑÑавиÑелни докÑменÑи под конÑÑол на веÑÑииÑе, обновÑвайÑе ги Ñлед пÑомени и използвайÑе ComparePreflightReports за изÑиÑлÑване на ÑазликиÑе. ÐипÑаÑа на Ñазлики поÑвÑÑждава каÑеÑÑвоÑо на веÑÑиÑÑа, докаÑо неоÑаквано неÑÑоÑвеÑÑÑвие ÑпиÑа компилаÑиÑÑа, коеÑо ÑпеÑÑÑва вÑеме и ÑÑедÑÑва пÑеди одиÑа.
ÐенеÑиÑане на Ñайлове, коиÑо пÑÐµÐ¼Ð¸Ð½Ð°Ð²Ð°Ñ Ð¿ÑовеÑка пÑи пÑÑво ÑÑаÑÑиÑане
ÐÑедваÑиÑелнаÑа пÑовеÑка е незаменима за вÑнÑни Ñайлове. Ðа докÑменÑи, генеÑиÑани Ð¾Ñ Ð²Ð°Ñ ÐºÐ¾Ð´, ÑÑÑÑенеÑо на неÑÑоÑвеÑÑÑÐ²Ð¸Ñ Ñлед Ð·Ð°Ð¿Ð¸Ñ Ð¸ поÑледваÑоÑо им коÑигиÑане е бавен Ð¿Ð¾Ð´Ñ Ð¾Ð´. PDFlibPas поддÑÑжа Ñежими за ÑÑвмеÑÑимоÑÑ Ð¿Ð¾ вÑеме на ÑамоÑо генеÑиÑане, каÑо можеÑе да акÑивиÑаÑе и дваÑа едновÑеменно за един докÑменÑ:
var
Pdf: TPDFlib;
Diag: WideString;
begin
Pdf := TPDFlib.Create;
try
Pdf.NewDocument;
Pdf.SetPDFAMode(1);
Pdf.LoadOutputIntentProfile('sRGB-IEC61966-2.1.icc', 'RGB');
Pdf.SetPDFUAMode('en-US');
Pdf.SetInformation(1, 'Quarterly Statement'); // /Title: required for PDF/UA
// ... draw tagged content here ...
Diag := Pdf.GetPDFUADiagnostics;
if Diag <> '' then
Writeln('fix before shipping: ', Diag);
Pdf.SaveToFile('statement.pdf');
// the preflight that counts runs on the saved file:
Writeln(Pdf.CreatePreflightReport('statement.pdf', '', 1, 0));
finally
Pdf.Free;
end;
end;
ÐапанÑÑ Ñе пÑоÑвÑва пÑи запиÑванеÑо: голÑма ÑаÑÑ Ð¾Ñ ÐºÐ¾ÑекÑииÑе за ÑÑвмеÑÑимоÑÑ Ñе извÑÑÑÐ²Ð°Ñ Ð¿Ð¾ вÑеме на ÑеÑиализаÑиÑÑа на докÑменÑа, а не пÑи вклÑÑване на Ñежима (напÑÐ¸Ð¼ÐµÑ Ñлагове за пеÑÐ°Ñ Ð½Ð° аноÑаÑии, запиÑване на AFRelationship за вгÑадени Ñайлове в PDF/A-3, подÑеждане на Ñабове и опиÑÐ°Ð½Ð¸Ñ Ð½Ð° полеÑа за PDF/UA). ÐокÑменÑÑÑ Ð² памеÑÑа Ñе ÑазлиÑава ÑÑÑÑкÑÑÑно Ð¾Ñ Ñози на диÑка, заÑова валиден ÑезÑлÑÐ°Ñ Ð´Ð°Ð²Ð° Ñамо пÑовеÑкаÑа на запиÑÐ°Ð½Ð¸Ñ Ñайл. ÐалидиÑайÑе ÑÐ°Ð¼Ð¸Ñ Ñайл statement.pdf, вмеÑÑо да пÑедполагаÑе ÑÑвмеÑÑимоÑÑ Ð¿Ð¾ ÑÑÑÑоÑниеÑо на обекÑа в памеÑÑа, ÑÑй каÑо пÑовеÑÑваниÑе байÑове не ÑÑоÑвеÑÑÑÐ²Ð°Ñ Ð½Ð° Ñези в кÑÐ°Ð¹Ð½Ð¸Ñ Ñайл.
ФакÑÑÑиÑанеÑо, коеÑо ÑÑдÑÑжа ÑÑÑÑкÑÑÑиÑан XML Ñайл до визÑализаÑиÑÑа на докÑменÑа, Ñледва ZUGFeRD и Factur-X ÑпеÑиÑикаÑииÑе, базиÑани на PDF/A-3. Ðа Ñези докÑменÑи ÑÑÑбва да деÑиниÑаÑе вÑÑзкаÑа изÑиÑно ÑÑез SetPDFA3DefaultAFRelationship, ÑÑй каÑо ISO 19005-3 изиÑква вÑеки вгÑаден Ñайл да деклаÑиÑа ÑолÑÑа Ñи ÑпÑÑмо докÑменÑа. Ðко Ñ Ð¾ÑÑавиÑе недеÑиниÑана, вгÑаденаÑа XML Ñе бÑде оÑÑеÑена каÑо Ñайл без изÑÑнено пÑедназнаÑение, коеÑо валидаÑоÑÑÑ Ñе маÑкиÑа каÑо пÑоблем.
ÐезавиÑими валидаÑоÑи: veraPDF и Acrobat
СÑздаÑелÑÑ Ð½Ð° докÑменÑа не ÑÑÑбва да бÑде единÑÑвен ÑÑÐ´Ð¸Ñ Ð·Ð° ÑвоеÑо каÑеÑÑво. ÐÑовеÑкиÑе в PDFlibPas Ð´Ð°Ð²Ð°Ñ Ð±ÑÑзи ÑезÑлÑаÑи в ÑамкиÑе на пÑоÑеÑа, но кÑайниÑÑ Ð°ÑÑ Ð¸Ð² ÑÑÑбва да бÑде пÑовеÑен Ð¾Ñ Ð²Ð°Ð»Ð¸Ð´Ð°ÑоÑ, ÑазÑабоÑен Ð¾Ñ Ð²ÑнÑен екип. veraPDF е еÑалонниÑÑ Ð¸Ð½ÑÑÑÑÐ¼ÐµÐ½Ñ Ð·Ð° PDF/A ÑÑвмеÑÑимоÑÑ Ð¸ ÑоÑÑÑеÑÑÑ, изиÑкван Ð¾Ñ Ð¿Ð¾Ð²ÐµÑеÑо аÑÑ Ð¸Ð²Ð½Ð¸ инÑÑиÑÑÑии, Ñака Ñе Ñой ÑÑÑбва да бÑде ваÑа Ñел. ÐÑеÑÐ»Ð°Ð¹Ñ Ð¿ÑоÑилиÑе на Acrobat Ñа полезен аÑбиÑÑÑ, когаÑо veraPDF и вгÑаденаÑа пÑовеÑка Ñе ÑазминаваÑ. ÐапиÑвайÑе имеÑо на валидаÑоÑа и неговаÑа веÑÑÐ¸Ñ Ð´Ð¾ вÑеки оÑÑеÑ: ÑвÑÑдениеÑо, Ñе ÑайлÑÑ Ðµ пÑеминал ÑÑпеÑно пÑез veraPDF, не ознаÑава ниÑо без номеÑа на неговаÑа веÑÑиÑ, ÑÑй каÑо инÑÑÑÑменÑÑÑ Ð·Ð°ÑÑга изиÑкваниÑÑа Ñи пÑи вÑÑко издание.
ÐалидаÑоÑиÑе понÑкога Ñе ÑÐ°Ð·Ð¼Ð¸Ð½Ð°Ð²Ð°Ñ Ð² ÑÑлкÑванеÑо на ÑпеÑиÑикаÑииÑе на ÑÑандаÑÑиÑе, пÑи коеÑо пÑавилноÑо ÑеÑение не е избоÑÑÑ Ð½Ð° по-ÑÐ´Ð¾Ð±Ð½Ð¸Ñ Ð¸Ð½ÑÑÑÑменÑ. ÐамалеÑе обема на Ñайла до минимален ÑеÑÑ, койÑо вÑзпÑоизвежда ÑазлиÑиеÑо, и го ÑÑавнеÑе Ñ Ð¾ÑÐ¸Ð³Ð¸Ð½Ð°Ð»Ð½Ð¸Ñ ÑекÑÑ Ð½Ð° ÑÑандаÑÑа. Това обикновено ÑазкÑива две неÑа: ÑоÑÑÑеÑна гÑеÑка в ÑÐ°Ð¼Ð¸Ñ Ð¸Ð½ÑÑÑÑменÑ, коÑÑо Ñи ÑÑÑÑва да докладваÑе, или пÑавило Ð¾Ñ ÑÑандаÑÑа, коеÑо ваÑиÑÑ ÐµÐºÐ¸Ð¿ е ÑÑлкÑвал непÑавилно и ÑÑÑбва да опиÑе в ÑÐµÑ Ð½Ð¸ÑеÑкиÑе бележки, за да Ñе избегнÑÑ Ð±ÑдеÑи ÑпоÑове.
ШиÑÑиÑаниÑе Ñайлове Ñе оÑÑ Ð²ÑÑлÑÑ Ð±ÑÑзо. РдваÑа валидаÑоÑа пÑÐ¸ÐµÐ¼Ð°Ñ Ð¿Ð°Ñола, но PDF/A-1 Ñайл Ñ ÑеÑник за ÑиÑÑиÑане е неÑÑвмеÑÑим по подÑазбиÑане, ÑÑй каÑо ISO 19005-1 забÑанÑва ÑиÑÑиÑанеÑо, Ñака Ñе заÑиÑен Ñайл Ñе оÑÑ Ð²ÑÑÐ»Ñ Ð²ÐµÐ´Ð½Ð°Ð³Ð° пÑеди дÑÐ»Ð±Ð¾ÐºÐ¸Ñ Ð°Ð½Ð°Ð»Ð¸Ð·. СпеÑиÑикаÑа на доÑÑÑпа пÑи ÑиÑÑиÑане е опиÑана в ÑÑаÑиÑÑа за Ð¾Ð´Ð¸Ñ Ð½Ð° PDF ÑиÑÑиÑане и пÑава.
ÐеÑÑоÑвеÑÑÑвиÑÑа Ñ PDF/UA поÑÑи винаги Ñе дÑÐ»Ð¶Ð°Ñ Ð½Ð° наÑина на изгÑаждане на ÑÑÑÑкÑÑÑаÑа на дÑÑвоÑо, каÑо ÑÐµÑ Ð½Ð¸ÐºÐ¸Ñе за маÑкиÑане Ñа Ñазгледани в ÑÑздаване на ÑÑÑÑкÑÑÑа на Tagged PDF в Delphi. ÐÑÑ Ð¸Ð²Ð¸Ñе, коиÑо изиÑÐºÐ²Ð°Ñ ÑиÑÑово подпиÑване, ÑÑÑбва да комбиниÑÐ°Ñ Ñази Ñаза Ñ Ð¿ÑоÑеÑа на PAdES подпиÑване и валидиÑане. ÐÑлнаÑа докÑменÑаÑÐ¸Ñ Ð·Ð° API е доÑÑÑпна на пÑодÑкÑоваÑа ÑÑÑаниÑа на PDFlibPas за Delphi.