SetPDFAMode

Propiedades del documento, conformidad

Descripción

Activa un modo de conformidad PDF/A para el documento seleccionado Una sola llamada realiza toda la configuración de nivel de documento requerida por la parte PDF/A y el nivel de conformidad elegidos: la versión de PDF se eleva al mínimo requerido, se escribe la entrada /MarkInfo al seleccionar el nivel de conformidad PDF etiquetado (A), se agrega una intención de salida (perfil ICC sRGB DeviceRGB) al Catálogo y se escriben las entradas de espacio de nombres XMP pdfaid:part/pdfaid:conformance La biblioteca también activa una protección de conformidad del lado de la generación que rechaza llamadas posteriores que emitirían contenido prohibido por la parte elegida (consulte Remarks)

Llame a esto una vez en un documento recién creado y antes de agregar contenido. Para validar un archivo PDF/A existente producido por esta u otra biblioteca, use CheckFileCompliance con ComplianceTest = 1

Sintaxis

Delphi

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

ActiveX

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

DLL

int DLSetPDFAMode(int InstanceID, int NewMode);

Parámetros

NewModeEl modo de conformidad PDF/A que se activará. Cada modo se identifica por una parte de PDF/A (1, 2, 3 o 4 — ISO 19005-1/-2/-3/-4) y un nivel de conformidad (B para reproducción visual básica, A para accesibilidad de PDF etiquetado).

0 — Desactiva el modo PDF/A (predeterminado).
1 — PDF/A-1a (ISO 19005-1 Nivel A). PDF 1.4. Se requiere PDF etiquetado.
2 — PDF/A-1b (ISO 19005-1 Nivel B). PDF 1.4. Solo reproducción visual.
3 — PDF/A-2b (ISO 19005-2 Nivel B). PDF 1.7. Solo reproducción visual; se permiten transparencias y capas.
4 — PDF/A-2a (ISO 19005-2 Nivel A). PDF 1.7. Se requiere PDF etiquetado.
5 — PDF/A-3b (ISO 19005-3 Nivel B). PDF 1.7. Como PDF/A-2b, pero permite archivos incrustados arbitrarios.
6 — PDF/A-3a (ISO 19005-3 Nivel A). PDF 1.7. Como PDF/A-2a, pero permite archivos incrustados arbitrarios.
7 — PDF/A-3u (ISO 19005-3 Nivel U). PDF 1.7. Como PDF/A-3b, pero declara que el texto debe tener asignaciones Unicode.
8 — PDF/A-2u (ISO 19005-2 Nivel U). PDF 1.7. Como PDF/A-2b, pero declara que el texto debe tener asignaciones Unicode; los archivos incrustados siguen prohibidos.
9 — PDF/A-4 (ISO 19005-4). PDF 2.0. Se identifica por la parte y el año de revisión en lugar de un nivel de conformidad; el texto necesita asignaciones Unicode y no se requiere etiquetado.
10 — PDF/A-4e (ISO 19005-4). PDF 2.0. Como PDF/A-4 y además permite 3D y contenido multimedia enriquecido para documentos de ingeniería.
11 — PDF/A-4f (ISO 19005-4). PDF 2.0. Como PDF/A-4 y además permite un archivo incrustado de cualquier formato

Valores devueltos

0Falló — no hay ningún documento abierto, o NewMode está fuera del rango 0–7
1El modo PDF/A se activó correctamente

Observaciones

El modo elegido controla una protección de conformidad del lado de la generación. Una vez activada, la biblioteca rechaza o reescribe llamadas posteriores que emitirían contenido prohibido por la parte, conforme a ISO 19005:

CMYK / Separation / Shader colorsBloqueado en todos los modos PDF/A (1–7) — el documento se configura con una intención de salida sRGB y solo se pueden usar colores compatibles con la clase de dispositivo de la intención de salida
EncryptionBloqueado en todos los modos PDF/A. Establezca el modo antes de llamar a cualquier API relacionada con cifrado
Transparency / blend modes / page transparency groupsBloqueado en los modos 1 y 2 (PDF/A-1 prohíbe la transparencia). Permitido en los modos 3–7 (PDF/A-2/3 permiten la transparencia)
JavaScript actionsBloqueado en todos los modos PDF/A — ISO 19005-1 §6.6.1 prohíbe JavaScript y la prohibición se mantiene en PDF/A-2/3
Embedded files / file attachmentsBloqueado en los modos 1–4 (PDF/A-1 los prohíbe; PDF/A-2 solo permite PDF incrustados conformes con PDF/A, lo cual la biblioteca no comprueba). Permitido en los modos 5, 6 y 7 — PDF/A-3 permite explícitamente archivos incrustados de cualquier tipo MIME mediante la asociación AFRelationship

El contenido PDF etiquetado requerido (estructura de encabezados, texto alternativo en figuras, atributos de alcance de tabla y entradas RoleMap para tipos personalizados) es responsabilidad de quien llama para los niveles a (modos 1, 4, 6). Use BeginTag, BeginArtifact, AddRoleMap y los establecedores de elementos de estructura para crear el árbol de estructura. Llame a GetPDFUADiagnostics antes de guardar para mostrar los problemas PDF etiquetados más frecuentes. Para el nivel u (modo 7), asegúrese de que los recursos de fuente del documento proporcionen asignaciones de texto Unicode para todo el texto procesado

PDF/A y PDF/UA se pueden activar en el mismo documento. Active primero SetPDFAMode (las partes 1a/2a/3a ya implican PDF etiquetado) y después llame a SetPDFUAMode para agregar la configuración de catálogo específica de PDF/UA (DisplayDocTitle, pdfuaid:part, /Tabs /S automático)

Ejemplo

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

Véase también

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