Native Linux archival font repair

Nativní text/vektor PDF/A-4 konverze může explicitně normalizovat chybějící písma přes nakonfigurovaný proces Ghostscript pdfwrite, ponechat prohledávatelný text i vektorové cesty a validovat finální nativní archivační dokument oficiálním CLI veraPDF, dřív než publikace

Callback ABI

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

fontRepair defaultuje na false; nastavení true explicitně dovolí substituci písem podle instalované Ghostscript font konfigurace a po úspěšné normalizaci vrátí fontRepairPerformed true

Odpověď navíc obsahuje textAndVectorsPreserved, validationSucceeded, pageCount i stávající počty odstraněných polí, podpisů a anotací; úspěšná publikace vymění handle za verifikovaný nešifrovaný archivační dokument

Pascal konfigurace

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

GhostscriptExecutable vybere normalizační spustitelný soubor, JavaExecutable a ValidatorJAR skutečný validátor a CancellationToken platí pro traversal resource, textové kontroly, normalizaci i validaci

Zpracování a limity

Konvertor nejdřív importuje resource zdrojových stránek a zploští způsobilá annotation appearance do soukromého nativního dokumentu, takže se autentizované AES vstupy dešifrují přes dokumentovou čtečku a původní oprávnění stránek pořád platí

Ghostscript dostane argumentový vektor se zapnutým SAFER, prepress základem, PDF 2.0 výstupem, embeddingem písem i explicitními override downsamplingu obrázků; ohraničená traversal resource sesbírá názvy písem do hexadecimálních PostScript názvů i explicitní seznam AlwaysEmbed pro starší Ghostscript verze

Normalizační proces běží přes /usr/bin/prlimit s limitem adresního prostoru z MaxWorkingBytes a limitem velikosti souboru z MaxOutputBytes; jeho výstup i diagnostika mají bajtové limity a MaxFontRepairMilliseconds ohraničuje uplynulý čas zpracování

Normalizované stránky si musí uchovat původní počet stránek i extrahovanou sekvenci znaků, s dovolením změn layoutu řádků a bílých znaků i dodatečného textu zploštěných appearance; konvertor je pak importuje do čerstvé nativní šablony PDF/A-4 s output intentem sRGB, XMP i identifikátory dokumentu

Finální kandidát musí projít oficiální nakonfigurovanou validací veraPDF PDF/A-4, dřív než fsync a atomické přejmenování; nedostupný backend, změněný text, neplatný výstup, překročený rozpočet, timeout či zrušení ponechá cíl nedotčený a uklidí soukromé staging soubory

Timeout i zrušení ukončí, v případě potřeby zabije a pohřbí přímý normalizační proces; spustitelné soubory podprocesů by se měly spouštět přímo, ne přes shell či wrapper vytvářející nesouvisející potomky

Runtime a věrnost

Oprava písem vyžaduje Ghostscript, jeho instalované substitutní písma a util-linux prlimit; validační zachování vyžaduje headless Java runtime, oficiální JAR CLI veraPDF a Little CMS 2 pro nativní generování sRGB profilu

Substitutní písma mohou změnit glyfové obrysy i layout; když na přesném vzhledu záleží, je lepší dostupné původní písmo a explicitní oprava písem neslibuje bajtově identické page resource ani zachované podpisy

Podepsané vstupy vyžadují AllowSignatureInvalidation true, aliasy zdroj/výstup se odmítají a viditelné anotace pořád potřebují použitelné normal appearance, dřív než se zploští

Nezávislá akceptace pokrývá 12 standardních latinských řezů písem a nevložený TrueType Arial napříč prostými, AES R5 i AES R6 vstupy, otočené stránky, skutečné vložené font programy, prohledávatelný diakritizovaný text, zachované vektorové cesty, pixelovou věrnost i skutečnou validaci PDF/A-4

Import stránek a zachování · Nativní callback ABI · Nativní workflow