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