SetPDFAMode

Dokumentegenskaber, Overensstemmelse

Beskrivelse

Aktiverer en PDF/A-overensstemmelsestilstand for det valgte dokument. Et enkelt kald udfører hele den dokumentopsætning, der kræves af den valgte PDF/A-del og det valgte overensstemmelsesniveau: PDF-versionen hæves til det krævede minimum, posten /MarkInfo skrives, når overensstemmelsesniveauet for mærket PDF (A) er valgt, en outputintention (DeviceRGB sRGB ICC-profil) tilføjes kataloget, og XMP-namespaceposterne pdfaid:part/pdfaid:conformance skrives. Biblioteket aktiverer også en overensstemmelseskontrol på genereringssiden, der afviser efterfølgende kald, som ville udsende indhold, der er forbudt af den valgte del (se Bemærkninger).

Kald denne én gang på et nyoprettet dokument og før tilføjelse af indhold. Brug CheckFileCompliance med ComplianceTest = 1 til at validere en eksisterende PDF/A-fil, der er oprettet af dette eller et andet bibliotek.

Syntaks

Delphi

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

ActiveX

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

DLL

int DLSetPDFAMode(int InstanceID, int NewMode);

Parametre

NewModeDen PDF/A-overensstemmelsestilstand, der skal aktiveres. Hver tilstand identificeres af en PDF/A-part (1, 2, 3 eller 4 — ISO 19005-1/-2/-3/-4) og et conformance level (B for grundlæggende visuel gengivelse, A for tagged PDF-tilgængelighed).

0 — Deaktiver PDF/A-tilstand (standard).
1 — PDF/A-1a (ISO 19005-1 Level A). PDF 1.4. Tagged PDF kræves.
2 — PDF/A-1b (ISO 19005-1 Level B). PDF 1.4. Kun visuel gengivelse.
3 — PDF/A-2b (ISO 19005-2 Level B). PDF 1.7. Visuel gengivelse; gennemsigtighed og lag er tilladt.
4 — PDF/A-2a (ISO 19005-2 Level A). PDF 1.7. Tagged PDF kræves.
5 — PDF/A-3b (ISO 19005-3 Level B). PDF 1.7. Som PDF/A-2b, men tillader vilkårlige integrerede filer.
6 — PDF/A-3a (ISO 19005-3 Level A). PDF 1.7. Som PDF/A-2a, men tillader vilkårlige integrerede filer.
7 — PDF/A-3u (ISO 19005-3 Level U). PDF 1.7. Som PDF/A-3b, men erklærer, at tekst skal have Unicode-tilknytninger.
8 — PDF/A-2u (ISO 19005-2 Level U). PDF 1.7. Som PDF/A-2b, men erklærer, at tekst skal have Unicode-tilknytninger; integrerede filer er fortsat forbudt.
9 — PDF/A-4 (ISO 19005-4). PDF 2.0. Identificeres af del og revisionsår i stedet for et overensstemmelsesniveau; tekst kræver Unicode-tilknytninger, og tagging er ikke påkrævet.
10 — PDF/A-4e (ISO 19005-4). PDF 2.0. Som PDF/A-4 og tillader desuden 3D og rich media til tekniske dokumenter.
11 — PDF/A-4f (ISO 19005-4). PDF 2.0. Som PDF/A-4 og tillader desuden en integreret fil i ethvert format

Returværdier

0Mislykkedes — intet dokument er åbent, eller NewMode is outside the range 0–7.
1PDF/A-tilstand blev aktiveret.

Bemærkninger

Den valgte tilstand styrer en overensstemmelseskontrol under generering. Når den er aktiveret, afviser eller omskriver biblioteket efterfølgende kald, der ville udsende indhold, som delen forbyder, i overensstemmelse med ISO 19005:

CMYK / Separation / Shader colorsBlokeret i alle PDF/A-tilstande (1–7) — dokumentet er konfigureret med en sRGB-output intent, og kun farver, der er kompatible med output intent-profilens enhedsklasse, må bruges
EncryptionBlokeret i alle PDF/A-tilstande. Angiv tilstanden før kald til krypteringsrelaterede API'er.
Transparency / blend modes / page transparency groupsBlokeret i tilstand 1 og 2 (PDF/A-1 forbyder transparens). Tilladt i tilstand 3–7 (PDF/A-2/3 tillader transparens)
JavaScript actionsBlokeret i alle PDF/A-tilstande — ISO 19005-1 §6.6.1 forbyder JavaScript, og forbuddet videreføres i PDF/A-2/3.
Embedded files / file attachmentsBlokeret i tilstand 1–4 (PDF/A-1 forbyder dem; PDF/A-2 tillader kun indlejrede PDF'er, der overholder PDF/A, hvilket biblioteket ikke håndhæver). Tilladt i tilstand 5, 6 og 7 — PDF/A-3 tillader udtrykkeligt indlejrede filer af enhver MIME-type via AFRelationship association.

Det påkrævede indhold i mærket PDF (overskriftsstruktur, alternativ tekst til figurer, Scope-attributter for tabeller og RoleMap-poster for brugerdefinerede typer) er kalderens ansvar for a-niveauerne (tilstand 1, 4 og 6). Brug BeginTag, BeginArtifact, AddRoleMap og setterne til strukturelementer til at opbygge strukturtræet. Kald GetPDFUADiagnostics før lagring for at vise de mest almindelige problemer med mærket PDF. For u-niveauet (tilstand 7) skal du sikre, at dokumentets skrifttyperessourcer leverer Unicode-teksttilknytninger for al gengivet tekst.

PDF/A og PDF/UA kan aktiveres i samme dokument. Aktivér først SetPDFAMode (delene 1a/2a/3a indebærer allerede tagget PDF), og kald derefter SetPDFUAMode for at tilføje den PDF/UA-specifikke katalogopsætning (DisplayDocTitle, pdfuaid:part, automatisk /Tabs /S).

Eksempel

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

Se også

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