JSON-jobbkonfiguration
THPDFJobProcessor accepterar ett JSON-dokument som beskriver ordnade PDF-operationer och returnerar ett JSON-resultat med status per operation
Operationer som stöds
merge kombinerar flera indata-PDF:er till en enda utdatafil med AppendPagesFromDocument
split extraherar sidintervall från en indata-PDF till separata utdatafiler med ExtractLoadedPagesToPDF
optimise komprimerar om FlateDecode- och LZWDecode-strömmar med ett minsta spartröskelvärde
encrypt tillämpar AES-256-, AES-128-, RC4-128- eller RC4-40-kryptering med anroparens lösenord och nyckeltyp
validate kör en inbyggd valideringspolicy och returnerar rapporttexten
ocr.layer skapar sökbar text genom den inbyggda ASCII-standardmotorn eller explicit konfigurerade lokala Tesseract/RapidOCR CLI- och DLL-adapterar; se extern OCR-jobbkonfiguration
JSON-schema
Indata måste innehålla ett komplett JSON-värde med giltiga avgränsare, stängda behållare, giltiga sträng-escapes och endast JSON-blanktecken utanför strängar; efterföljande innehåll och tal utanför det ändliga Double-intervallet avvisas
Parsern accepterar högst 64 nästlade värdnivåer, där rotvärdet räknas som första nivå; felformade eller alltför nästlade jobb misslyckas innan någon operation körs, och delvis parsade värden frigörs
Indata är ett objekt med en operations-array; varje operation har ett type-fält och typ-specifika parametrar
Utdata är ett objekt med en results-array; varje resultat bär type, status (ok, error eller skipped) och operationsspecifika fält
Strängvärden bevarar escapesade Unicode-tecken, inklusive \u0000; ändliga tal använder ett locale-oberoende decimaltecken och kan vid serialisering ligga utanför intervallet för 64-bitars heltal med tecken
Numeriska värden lagras som Double och följer kompilatorruntimens flyttalskonverteringsprecision, så heltal utanför dess exakta heltalsintervall kan avrundas vid inmatning; GetInt och GetInt64 returnerar det tillförda standardvärdet när det avrundade värdet ligger utanför deras intervall för heltal med tecken
Budget per operation
Varje operation kan innehålla ett budget-objekt med gränserna memoryBytes, timeMilliseconds, objectCount, decompressionRatio och outputBytes
{"operations":[{"type":"optimise","input":"in.pdf","output":"out.pdf",
"budget":{"memoryBytes":268435456,"timeMilliseconds":30000,
"objectCount":1000000,"decompressionRatio":200,"outputBytes":1073741824}}]}
En överträdd gräns returnerar status=budget-exceeded plus metric, observed, limit och elapsedMilliseconds utan att avbryta senare operationer
Minnesbudgetar tillämpas även på per-ström- och dokumentavkodningsredovisning så att expansionen är begränsad innan stora buffertar hålls kvar
Ogenomskinligt handtags-API
HPDFDocCreate returnerar ett ogenomskinligt THPDFDocHandle som omsluter en THotPDF-instans; HPDFDocLoadFromFile, HPDFDocGetPageCount, HPDFDocSaveLoadedDocument och HPDFDocRunJob arbetar på handtaget; HPDFDocDestroy frigör det
Dessa källkodskompatibla Pascal-hjälpare förblir tillgängliga för Delphi- och C++Builder-anropare
HotPDF Stable C Callback ABI tillhandahåller det platta versionsbundna C-gränssnittet för random-access-indata, strömmande utdata, avbrytning, förlopp, diagnostik och livscykeln för ogenomskinliga handtag