Réparation de polices d'archivage Linux native

La conversion PDF/A-4 native de texte/vecteurs peut normaliser explicitement les polices manquantes via un processus pdfwrite Ghostscript configuré, conserver le texte cherchable et les chemins vectoriels, et valider le document d'archivage natif final avec le CLI veraPDF officiel avant publication

ABI de callbacks

{"schemaVersion":1,"type":"pdfa.convert","mode":"preserve","profile":"PDF/A-4","fontRepair":true,"maxFontRepairMilliseconds":120000}

fontRepair vaut false par défaut ; le régler à true permet explicitement la substitution de polices selon la configuration de polices Ghostscript installée et retourne fontRepairPerformed true après une normalisation réussie

La réponse inclut aussi textAndVectorsPreserved, validationSucceeded, pageCount et les comptes existants de champs supprimés, de signatures et d'annotations ; une publication réussie remplace le handle par le document d'archivage non chiffré vérifié

Configuration Pascal

Options := THPDFHeadlessArchivalPreservationOptions.Default;
Options.FontRepair := True;
Options.GhostscriptExecutable := '/usr/bin/gs';
Options.MaxFontRepairMilliseconds := 120000;
Report := HPDFConvertHeadlessToPDFA4PreservingFile(Document, Destination, Options);

GhostscriptExecutable sélectionne l'exécutable de normalisation, JavaExecutable et ValidatorJAR sélectionnent le véritable validateur, et CancellationToken s'applique au parcours de ressources, aux vérifications de texte, à la normalisation et à la validation

Traitement et limites

Le convertisseur importe d'abord les ressources de pages sources et aplatit les apparences d'annotations éligibles dans un document natif privé, si bien que les entrées AES authentifiées sont déchiffrées via le lecteur de documents et que les permissions de pages d'origine s'appliquent toujours

Ghostscript reçoit un vecteur d'arguments avec SAFER activé, une baseline de prépresse, une sortie PDF 2.0, l'embarquement de polices et des overrides explicites de downsample d'images ; un parcours de ressources borné collecte les noms de polices en noms PostScript hexadécimaux et une liste AlwaysEmbed explicite pour les versions plus anciennes de Ghostscript

Le processus de normalisation s'exécute via /usr/bin/prlimit avec une limite d'espace d'adressage issue de MaxWorkingBytes et une limite de taille de fichier issue de MaxOutputBytes ; sa sortie et ses diagnostics ont des limites en octets, et MaxFontRepairMilliseconds borne le temps de traitement écoulé

Les pages normalisées doivent conserver le compte de pages d'origine et la séquence de caractères extraite, en autorisant des changements de mise en page de lignes et d'espacements et du texte d'apparences aplati supplémentaire ; le convertisseur les importe ensuite dans un template PDF/A-4 natif frais avec output intent sRGB, XMP et identifiants de document

Le candidat final doit passer la validation veraPDF PDF/A-4 officielle configurée avant fsync et renommage atomique ; un backend indisponible, un texte modifié, une sortie invalide, un budget dépassé, un timeout ou une annulation laissent la destination intacte et nettoient les fichiers de staging privés

Le timeout et l'annulation terminent, tuent si nécessaire et récupèrent le processus de normalisation direct ; les exécutables de sous-processus doivent s'exécuter directement plutôt qu'à travers un shell ou un wrapper créant des descendants sans rapport

Runtime et fidélité

La réparation de polices exige Ghostscript, ses polices de substitution installées et prlimit d'util-linux ; la validation de préservation exige un runtime Java headless, le JAR CLI veraPDF officiel et Little CMS 2 pour la génération native de profils sRGB

Les polices substituées peuvent changer les contours de glyphes et la mise en page ; une police d'origine disponible est préférable quand l'apparence exacte compte, et la réparation explicite de polices ne promet pas des ressources de pages identiques octet par octet ni des signatures conservées

Les entrées signées exigent AllowSignatureInvalidation true, les alias source/sortie sont rejetés, et les annotations visibles ont toujours besoin d'une apparence normal utilisable avant l'aplatissement

L'acceptation indépendante couvre 12 faces de polices latines standard et une police Arial TrueType non embarquée sur des entrées en clair, AES R5 et AES R6, des pages pivotées, de véritables programmes de polices embarqués, du texte accentué cherchable, des chemins vectoriels conservés, la fidélité au pixel et une validation PDF/A-4 authentique

Imports de pages et préservation · ABI de callbacks native · Workflows natifs