SetPDFAMode

Proprietà del documento, conformità

Descrizione

Attiva una modalità di conformità PDF/A per il documento selezionato. Una sola chiamata esegue tutta la configurazione a livello di documento richiesta dalla parte e dal livello di conformità PDF/A scelti: la versione PDF viene elevata al minimo richiesto, la voce /MarkInfo viene scritta quando è selezionato il livello di conformità per PDF con tag (A), un intento di output, ossia un profilo ICC sRGB DeviceRGB, viene aggiunto al Catalog e vengono scritte le voci dello spazio dei nomi XMP pdfaid:part/pdfaid:conformance. La libreria attiva inoltre un controllo di conformità durante la generazione, che rifiuta le chiamate successive capaci di emettere contenuti vietati dalla parte scelta (vedere Remarks)

Chiamare una volta su un documento nuovo prima di aggiungere contenuto. Per convalidare un PDF/A esistente usare CheckFileCompliance con ComplianceTest = 1

Sintassi

Delphi

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

ActiveX

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

DLL

int DLSetPDFAMode(int InstanceID, int NewMode);

Parametri

NewModeModalità di conformità PDF/A da attivare. Ogni modalità è identificata da una part PDF/A (1, 2, 3 o 4 — ISO 19005-1/-2/-3/-4) e da un conformance level (B per riproduzione visiva di base, A per accessibilità PDF con tag).

0 — Disabilita PDF/A.
1 — PDF/A-1a, PDF 1.4, PDF con tag obbligatorio.
2 — PDF/A-1b, PDF 1.4, sola riproduzione visiva.
3 — PDF/A-2b, PDF 1.7, trasparenza e livelli consentiti.
4 — PDF/A-2a, PDF 1.7, PDF con tag obbligatorio.
5 — PDF/A-3b, come PDF/A-2b ma consente qualsiasi file incorporato.
6 — PDF/A-3a, come PDF/A-2a ma consente qualsiasi file incorporato.
7 — PDF/A-3u, come PDF/A-3b ma dichiara mappature Unicode del testo.
8 — PDF/A-2u, come PDF/A-2b con mappature Unicode; file incorporati vietati.
9 — PDF/A-4, PDF 2.0, identificato da parte e anno di revisione; richiede mappature Unicode ma non tag.
10 — PDF/A-4e, come PDF/A-4 con contenuti 3D e rich media per documenti tecnici.
11 — PDF/A-4f, come PDF/A-4 con un file incorporato di qualsiasi formato

Valori restituiti

0Operazione non riuscita — nessun documento aperto oppure NewMode è fuori dall'intervallo 0–11
1Modalità PDF/A attivata correttamente

Note

La modalità scelta controlla un gate di conformità in generazione. Una volta attiva, la libreria rifiuta o riscrive chiamate che emetterebbero contenuti vietati dalla parte, secondo ISO 19005:

CMYK / Separation / Shader colorsBloccata in ogni modalità PDF/A (1–11): il documento usa output intent sRGB e sono consentiti soltanto colori compatibili con la classe dispositivo dell'intent's.
EncryptionBloccato in ogni modalità PDF/A. Impostare la modalità prima di chiamare qualsiasi API relativa alla crittografia
Transparency / blend modes / page transparency groupsBloccata nelle modalità 1 e 2 (PDF/A-1 vieta la trasparenza). Consentita nelle modalità 3–11 (PDF/A-2, -3 e -4 consentono la trasparenza).
JavaScript actionsBloccata in ogni modalità PDF/A — ISO 19005-1 §6.6.1 vieta JavaScript e il divieto viene mantenuto in PDF/A-2/3.
Embedded files / file attachmentsBloccati nelle modalità 1–4 (PDF/A-1 li vieta; PDF/A-2 consente solo PDF incorporati conformi a PDF/A, condizione che la libreria non impone). Consentiti nelle modalità 5, 6, 7, 9, 10 e 11. PDF/A-3 consente file incorporati di qualsiasi tipo MIME tramite l'associazione AFRelationship e PDF/A-4 mantiene tale comportamento; nel semplice PDF/A-4 il file incorporato deve essere a sua volta conforme a PDF/A, vincolo rimosso da PDF/A-4f

Il contenuto con tag richiesto, ossia struttura dei titoli, testo alternativo delle figure, attributi di ambito delle tabelle e voci RoleMap per i tipi personalizzati, è responsabilità del chiamante per i livelli a (modalità 1, 4, 6). Usare BeginTag, BeginArtifact, AddRoleMap e i setter degli elementi di struttura per creare l'albero della struttura. Chiamare GetPDFUADiagnostics prima del salvataggio per rilevare i problemi più comuni dei PDF con tag. Per il livello u (modalità 7), verificare che le risorse dei caratteri del documento forniscano associazioni di testo Unicode per tutto il testo visualizzato

PDF/A e PDF/UA possono coesistere. Attivare prima SetPDFAMode, quindi SetPDFUAMode per la configurazione PDF/UA (DisplayDocTitle, pdfuaid:part, /Tabs /S automatico)

Esempio

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

Vedere anche

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