Native Linux archival font repair
Native tekst/vector PDF/A-4-conversie kan ontbrekende fonts expliciet normaliseren via een geconfigureerd Ghostscript pdfwrite-proces, doorzoekbare tekst en vectorpaths behouden, en het finale native archival-document valideren met de officiële veraPDF-CLI vóór publicatie
Callback ABI
{"schemaVersion":1,"type":"pdfa.convert","mode":"preserve","profile":"PDF/A-4","fontRepair":true,"maxFontRepairMilliseconds":120000}
fontRepair defaultt naar false; hem op true zetten staat expliciet fontsubstitutie toe volgens de installed Ghostscript-fontconfiguratie en geeft fontRepairPerformed true terug na geslaagde normalisatie
De response omvat ook textAndVectorsPreserved, validationSucceeded, pageCount en de bestaande removed-field-, signature- en annotatie-aantallen; geslaagde publicatie vervangt de handle door het geverifieerde niet-versleutelde archival-document
Pascal-configuratie
Options := THPDFHeadlessArchivalPreservationOptions.Default;
Options.FontRepair := True;
Options.GhostscriptExecutable := '/usr/bin/gs';
Options.MaxFontRepairMilliseconds := 120000;
Report := HPDFConvertHeadlessToPDFA4PreservingFile(Document, Destination, Options);
GhostscriptExecutable kiest de normalisatie-executable, JavaExecutable en ValidatorJAR kiezen de echte validator, en CancellationToken geldt voor resource-traversal, tekstchecks, normalisatie en validatie
Verwerking en limieten
De converter importeert eerst bronpagina-resources en flattent in aanmerking komende annotatie-appearances naar een privé native document, zodat geauthenticeerde AES-invoer wordt ontsleuteld via de document reader en originele pagina-permissions nog steeds gelden
Ghostscript ontvangt een argumentvector met SAFER aangezet, een prepress-baseline, PDF 2.0-uitvoer, font-embedding en expliciete image-downsampling-overrides; begrensde resource-traversal verzamelt fontnamen in hexadecimale PostScript-namen en een expliciete AlwaysEmbed-lijst voor oudere Ghostscript-versies
Het normalisatieproces draait via /usr/bin/prlimit met een address-space-limiet uit MaxWorkingBytes en een bestandsgrootte-limiet uit MaxOutputBytes; diens uitvoer en diagnostiek hebben bytelimieten, en MaxFontRepairMilliseconds begrenst verstreken verwerkingstijd
Genormaliseerde pagina's moeten het originele pagina-aantal en de geëxtraheerde tekenvolgorde behouden, waarbij regel- en whitespace-layout-wijzigingen en extra geflattende appearance-tekst zijn toegestaan; de converter importeert ze daarna in een verse native PDF/A-4-template met sRGB-output intent, XMP en documentidentificatoren
De finale candidate moet de officiële geconfigureerde veraPDF PDF/A-4-validatie halen vóór fsync en atomare rename; een onbeschikbare backend, gewijzigde tekst, ongeldige uitvoer, overschreden budget, timeout of annulering laat de destination intact en ruimt privé staging-bestanden op
Timeout en annulering beëindigen, killen indien nodig en reapen het directe normalisatieproces; subprocess-executables moeten direct draaien in plaats van via een shell of een wrapper die ongerelateerde afstammelingen aanmaakt
Runtime en getrouwheid
Font repair vraagt Ghostscript, diens installed substitutiefonts en util-linux prlimit; preservation-validatie vraagt een headless Java-runtime, de officiële veraPDF CLI JAR en Little CMS 2 voor native sRGB-profielgeneratie
Gesubstitueerde fonts kunnen glyph-outlines en layout wijzigen; een beschikbaar origineel font heeft de voorkeur wanneer exacte appearance telt, en expliciete font repair garandeert geen byte-identieke paginaresources of behouden signatures
Getekende invoer vraagt AllowSignatureInvalidation true, bron-/uitvoer-aliassen worden geweigerd, en zichtbare annotaties hebben nog steeds een bruikbare normale appearance nodig vóór flattening
Onafhankelijke acceptatie dekt 12 standaard Latijnse fontfaces en een niet-geembedde Arial TrueType-font over plain-, AES R5- en AES R6-invoer, geroteerde pagina's, echte embedded fontprogramma's, doorzoekbare tekst met accenten, behouden vectorpaths, pixelfrouwheid en echte PDF/A-4-validatie
Page imports and preservation · Native callback ABI · Native workflows