Reparación de fuentes para archivo nativa en Linux
La conversión nativa de texto/vectores a PDF/A-4 puede normalizar explícitamente las fuentes ausentes a través de un proceso configurado de pdfwrite de Ghostscript, retener el texto buscable y los vector paths, y validar el documento nativo final de archivo con la CLI oficial de veraPDF antes de la publicación
Callback ABI
{"schemaVersion":1,"type":"pdfa.convert","mode":"preserve","profile":"PDF/A-4","fontRepair":true,"maxFontRepairMilliseconds":120000}
fontRepair tiene por defecto false; ponerlo en true permite explícitamente la sustitución de fuentes según la configuración de fuentes de Ghostscript instalada y devuelve fontRepairPerformed true tras una normalización exitosa
La respuesta también incluye textAndVectorsPreserved, validationSucceeded, pageCount y los conteos existentes de campos, firmas y anotaciones eliminadas; la publicación exitosa reemplaza el handle con el documento de archivo verificado sin cifrar
Configuración Pascal
Options := THPDFHeadlessArchivalPreservationOptions.Default;
Options.FontRepair := True;
Options.GhostscriptExecutable := '/usr/bin/gs';
Options.MaxFontRepairMilliseconds := 120000;
Report := HPDFConvertHeadlessToPDFA4PreservingFile(Document, Destination, Options);
GhostscriptExecutable selecciona el ejecutable de normalización, JavaExecutable y ValidatorJAR seleccionan el validador genuino, y CancellationToken se aplica al traversal de recursos, las verificaciones de texto, la normalización y la validación
Procesamiento y límites
El convertidor primero importa los recursos de páginas de origen y aplana las apariencias de anotaciones elegibles en un documento nativo privado, de modo que las entradas AES autenticadas se descifran a través del lector de documentos y los permisos originales de páginas siguen aplicando
Ghostscript recibe un vector de argumentos con SAFER activado, una línea base prepress, salida PDF 2.0, embebido de fuentes y overrides explícitos de downsampling de imágenes; el traversal acotado de recursos recopila los nombres de fuentes en nombres PostScript hexadecimales y una lista explícita AlwaysEmbed para versiones antiguas de Ghostscript
El proceso de normalización se ejecuta a través de /usr/bin/prlimit con un límite de address-space de MaxWorkingBytes y un límite de tamaño de archivo de MaxOutputBytes; su salida y diagnósticos tienen límites de bytes, y MaxFontRepairMilliseconds acota el tiempo transcurrido de procesamiento
Las páginas normalizadas deben retener el conteo original de páginas y la secuencia extraída de caracteres, permitiendo cambios de layout de líneas y whitespace y texto adicional de apariencias aplanadas; el convertidor luego las importa a una plantilla nativa fresca de PDF/A-4 con output intent sRGB, XMP e identificadores de documento
El candidato final debe pasar la validación PDF/A-4 oficial configurada de veraPDF antes del fsync y el rename atómico; un backend no disponible, texto cambiado, salida inválida, presupuesto excedido, timeout o cancelación dejan el destino intacto y limpian los archivos privados de staging
El timeout y la cancelación terminan, matan cuando es necesario y recogen el proceso directo de normalización; los ejecutables de subprocess deberían ejecutarse directamente en lugar de a través de un shell o un wrapper que cree descendientes no relacionados
Runtime y fidelidad
La reparación de fuentes requiere Ghostscript, sus fuentes sustitutas instaladas y prlimit de util-linux; la validación de preservación requiere un runtime Java headless, el JAR oficial de la CLI de veraPDF y Little CMS 2 para la generación nativa del perfil sRGB
Las fuentes sustituidas pueden cambiar los outlines de glifos y el layout; una fuente original disponible es preferible cuando la apariencia exacta importa, y la reparación explícita de fuentes no promete recursos de página byte-idénticos ni firmas retenidas
Las entradas firmadas exigen AllowSignatureInvalidation true, los aliases de origen/salida se rechazan, y las anotaciones visibles todavía necesitan una apariencia normal utilizable antes del flattening
La aceptación independiente cubre 12 faces de fuentes latinas estándar y una fuente TrueType Arial sin embeber a través de entradas plain, AES R5 y AES R6, páginas rotadas, programas de fuentes realmente embebidos, texto acentuado buscable, vector paths retenidos, fidelidad de píxeles y validación genuina de PDF/A-4
Importaciones de páginas y preservación · ABI nativo de callbacks · Workflows nativos