SetPDFAMode

Vlastnosti dokumentu, Shoda

Popis

Aktivuje režim souladu s PDF/A pro vybraný dokument. Jedno volání provede veškeré nastavení na úrovni dokumentu vyžadované zvolenou částí PDF/A a úrovní shody: verze PDF se zvýší na požadované minimum, položka /MarkInfo se zapíše, je-li zvolena úroveň shody tagovaného PDF (A), do katalogu se přidá output intent (ICC profil sRGB DeviceRGB) a zapíší se položky XMP namespace pdfaid:part/pdfaid:conformance. Knihovna navíc aktivuje guard souladu na straně generování, který odmítne následná volání, jež by vypsala obsah zakázaný zvolenou částí (viz Poznámky)

Call this once on a freshly created document and before adding any content. To validate an existing PDF/A file produced by this or any other library, use CheckFileCompliance with ComplianceTest = 1.

Syntaxe

Delphi

Function TPDFlib.SetPDFAMode(NewMode: Integer): Integer;

ActiveX

Function PDFlib::SetPDFAMode(NewMode As Long) As Long

DLL

int DLSetPDFAMode(int InstanceID, int NewMode);

Parametry

NewModeThe PDF/A conformance mode to activate. Each mode is identified by a PDF/A part (1, 2, 3, or 4 — ISO 19005-1/-2/-3/-4) and a conformance level (B for basic visual reproduction, A for tagged-PDF accessibility).

0 — Disable PDF/A mode (default).
1 — PDF/A-1a (ISO 19005-1 Level A). PDF 1.4. Tagged PDF required.
2 — PDF/A-1b (ISO 19005-1 Level B). PDF 1.4. Visual reproduction only.
3 — PDF/A-2b (ISO 19005-2 Level B). PDF 1.7. Visual reproduction; transparency and layers permitted.
4 — PDF/A-2a (ISO 19005-2 Level A). PDF 1.7. Tagged PDF required.
5 — PDF/A-3b (ISO 19005-3 Level B). PDF 1.7. Like PDF/A-2b but allows arbitrary embedded files.
6 — PDF/A-3a (ISO 19005-3 Level A). PDF 1.7. Like PDF/A-2a but allows arbitrary embedded files.
7 — PDF/A-3u (ISO 19005-3 Level U). PDF 1.7. Like PDF/A-3b but declares that text should have Unicode mappings.
8 — PDF/A-2u (ISO 19005-2 Level U). PDF 1.7. Like PDF/A-2b but declares that text should have Unicode mappings; embedded files stay forbidden.
9 — PDF/A-4 (ISO 19005-4). PDF 2.0. Identified by part and revision year rather than by a conformance level; text needs Unicode mappings and tagging is not required.
10 — PDF/A-4e (ISO 19005-4). PDF 2.0. Like PDF/A-4 and additionally permits 3D and rich media for engineering documents.
11 — PDF/A-4f (ISO 19005-4). PDF 2.0. Like PDF/A-4 and additionally permits an embedded file of any format.

Návratové hodnoty

0Failed — no document is open, or NewMode is outside the range 0–7.
1PDF/A mode activated successfully.

Poznámky

Zvolený režim řídí guard shody na straně generování. Jakmile se aktivuje, knihovna odmítne nebo přepíše následná volání, jež by vypsala obsah zakázaný danou částí, v souladu s ISO 19005:

CMYK / Separation / Shader colorsBlocked in every PDF/A mode (1–7) — the document is set up with an sRGB output intent and only colors compatible with the output intent's device class may be used.
EncryptionVe všech režimech PDF/A blokováno. Režim nastavte před voláním jakéhokoli šifrovacího API
Transparency / blend modes / page transparency groupsBlocked in modes 1 and 2 (PDF/A-1 forbids transparency). Allowed in modes 3–7 (PDF/A-2/3 permit transparency).
JavaScript actionsBlocked in every PDF/A mode — ISO 19005-1 §6.6.1 prohibits JavaScript and the prohibition is carried forward in PDF/A-2/3.
Embedded files / file attachmentsBlocked in modes 1–4 (PDF/A-1 forbids them; PDF/A-2 only allows PDF/A-conformant embedded PDFs, which the library does not enforce). Allowed in modes 5, 6, and 7 — PDF/A-3 explicitly permits embedded files of any MIME type via the AFRelationship association.

Vyžadovaný obsah tagovaného PDF (struktura záhlaví, alt text u obrázků, atributy rozsahu tabulek, položky RoleMap pro vlastní typy) je na volajícím u úrovní a (režimy 1, 4, 6). Strukturní strom stavějte přes BeginTag, BeginArtifact, AddRoleMap a settery strukturních elementů. Před uložením zavolejte GetPDFUADiagnostics, aby se odhalily nejčastější problémy tagovaného PDF. U úrovně u (režim 7) zajistěte, aby fontové zdroje dokumentu poskytovaly Unicode mapování textu pro veškerý vykreslovaný text

PDF/A a PDF/UA lze aktivovat na témže dokumentu. Nejprve aktivujte SetPDFAMode (části 1a/2a/3a už samy implikují tagované PDF) a pak zavolejte SetPDFUAMode, která přidá nastavení katalogu specifické pro PDF/UA (DisplayDocTitle, pdfuaid:part, automatické /Tabs /S)

Příklad

// PDF/A-1b — minimum-effort archival document
PDF.NewDocument;
PDF.SetPDFAMode(2);                              // PDF/A-1b
PDF.SetDocumentInfo('Title', 'Quarterly Report Q1 2026');
PDF.AddStandardFont('Helvetica');
PDF.AddPage;
PDF.SetFontSize(12);
PDF.PrintText(50, 750, 'Quarterly Report — Q1 2026');
PDF.SaveToFile('Q1-Report-PDFA1b.pdf');

// PDF/A-3a — tagged report with an embedded source spreadsheet
PDF.NewDocument;
PDF.SetPDFAMode(6);                              // PDF/A-3a
PDF.SetPDFUAMode('en-US');                       // Optional: also satisfy PDF/UA-1
PDF.SetDocumentInfo('Title', 'Sales Analysis 2026');
PDF.AddStandardFont('Helvetica');
PDF.AddPage;
PDF.BeginTag('H1', '', '');
PDF.PrintText(50, 750, 'Sales Analysis');
PDF.EndTag;
PDF.BeginTag('P', '', '');
PDF.PrintText(50, 720, 'See attached spreadsheet for source data.');
PDF.EndTag;
PDF.EmbedFile('Source data', 'data.xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
PDF.SaveToFile('Sales-PDFA3a.pdf');

Viz také

CheckFileCompliance, SetPDFUAMode, SetMarkInfo, EmbedFile, BeginTag, GetPDFUADiagnostics, SetInformation