SetPDFAMode

Documenteigenschappen, Naleving

Beschrijving

Activeert een PDF/A-conformiteitsmodus voor het geselecteerde document. Eén aanroep voert alle setup op documentniveau uit die het gekozen PDF/A-deel en conformit niveau vereist: de PDF-versie wordt verhoogd naar het vereiste minimum, de /MarkInfo-entry wordt weggeschreven wanneer het tagged PDF-conformit niveau (A) is gekozen, een output intent (DeviceRGB sRGB ICC-profiel) wordt aan de Catalog toegevoegd, en de pdfaid:part/pdfaid:conformance-XMP-namespace-entries worden weggeschreven. De library activeert ook een generatiezijdige compliance-bewaking die volgende aanroepen weigert die inhoud zouden uitgeven die het gekozen deel verbiedt (zie Opmerkingen)

Roep dit één keer aan op een zojuist gemaakt document en vóór het toevoegen van inhoud. Gebruik CheckFileCompliance met ComplianceTest = 1 om een bestaand PDF/A-bestand te valideren dat door deze of een andere library is gemaakt

Syntaxis

Delphi

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

ActiveX

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

DLL

int DLSetPDFAMode(int InstanceID, int NewMode);

Parameters

NewModeDe te activeren PDF/A-conformiteitsmodus. Elke modus wordt geïdentificeerd door een PDF/A deel (1, 2, 3 of 4 — ISO 19005-1/-2/-3/-4) en een conformit niveau (B voor basisvisuele weergave, A voor tagged-PDF-toegankelijkheid).

0 — PDF/A-modus uitzetten (standaard)
1 — PDF/A-1a (ISO 19005-1 Level A). PDF 1.4. Tagged PDF vereist
2 — PDF/A-1b (ISO 19005-1 Level B). PDF 1.4. Alleen visuele weergave
3 — PDF/A-2b (ISO 19005-2 Level B). PDF 1.7. Visuele weergave; transparantie en lagen toegestaan
4 — PDF/A-2a (ISO 19005-2 Level A). PDF 1.7. Tagged PDF vereist
5 — PDF/A-3b (ISO 19005-3 Level B). PDF 1.7. Zoals PDF/A-2b maar staat willekeurige ingesloten bestanden toe
6 — PDF/A-3a (ISO 19005-3 Level A). PDF 1.7. Zoals PDF/A-2a maar staat willekeurige ingesloten bestanden toe
7 — PDF/A-3u (ISO 19005-3 Level U). PDF 1.7. Zoals PDF/A-3b maar verklaart dat tekst Unicode-mappings moet hebben
8 — PDF/A-2u (ISO 19005-2 Level U). PDF 1.7. Zoals PDF/A-2b maar verklaart dat tekst Unicode-mappings moet hebben; ingesloten bestanden blijven verboden
9 — PDF/A-4 (ISO 19005-4). PDF 2.0. Geïdentificeerd op deel en revisiejaar in plaats van op een conformit niveau; tekst heeft Unicode-mappings nodig en tagging is niet vereist
10 — PDF/A-4e (ISO 19005-4). PDF 2.0. Zoals PDF/A-4 en staat daarnaast 3D en rich media toe voor technische documenten
11 — PDF/A-4f (ISO 19005-4). PDF 2.0. Zoals PDF/A-4 en staat daarnaast een ingesloten bestand van elk formaat toe

Retourwaarden

0Mislukt — er is geen document open, of NewMode valt buiten het bereik 0–7
1PDF/A mode activated successfully.

Opmerkingen

De gekozen modus stuurt een generatiezijdige compliance-bewaking. Eenmaal geactiveerd weigert of herschrijft de library volgende aanroepen die inhoud zouden uitgeven die het deel verbiedt, conform ISO 19005:

CMYK / Separation / Shader colorsGeblokkeerd in elke PDF/A-modus (1–7) — het document is ingericht met een sRGB-output intent en er mogen alleen kleuren worden gebruikt die compatibel zijn met de device class van die output intent
EncryptionGeblokkeerd in elke PDF/A-modus. Zet de modus vóórdat u een versleutelingsgerelateerde API aanroept
Transparency / blend modes / page transparency groupsGeblokkeerd in modi 1 en 2 (PDF/A-1 staat transparantie niet toe). Toegestaan in modi 3–7 (PDF/A-2/3 staan transparantie toe).
JavaScript actionsGeblokkeerd in elke PDF/A-modus — ISO 19005-1 §6.6.1 verbiedt JavaScript en dat verbod geldt door in PDF/A-2/3
Embedded files / file attachmentsGeblokkeerd in modi 1–4 (PDF/A-1 verbiedt ze; PDF/A-2 staat alleen PDF/A-conformerende ingesloten PDF's toe, wat de library niet afdwingt) Toegestaan in modi 5, 6 en 7 — PDF/A-3 staat ingesloten bestanden van elk MIME-type expliciet toe via de AFRelationship-associatie

De vereiste tagged-PDF-inhoud (kopstructuur, alt-tekst bij figuren, tabelscope-attributen, RoleMap-entries voor custom types) is de verantwoordelijkheid van de aanroeper voor de a-niveaus (modi 1, 4, 6). Gebruik BeginTag, BeginArtifact, AddRoleMap en de structuurelementsetters om de structuurboom op te bouwen. Roep GetPDFUADiagnostics aan vóór het opslaan om de meest voorkomende tagged-PDF-bevindingen aan het licht te brengen. Voor het u-niveau (modus 7) geldt: zorg dat de fontresources van het document Unicode-tekstmappings bieden voor alle gerenderde tekst

PDF/A en PDF/UA kunnen op hetzelfde document worden geactiveerd. Activeer eerst SetPDFAMode (delen 1a/2a/3a impliceren al tagged PDF) en roep daarna SetPDFUAMode aan om de PDF/UA-specifieke catalogussetup toe te voegen (DisplayDocTitle, pdfuaid:part, automatische /Tabs /S)

Voorbeeld

// 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');

Zie ook

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