JSON-taakconfiguratie
THPDFJobProcessor accepteert een JSON-document dat geordende PDF-bewerkingen beschrijft en retourneert een JSON-resultaat met per-bewerking-status
Ondersteunde bewerkingen
merge combineert meerdere invoer-PDF's tot één uitvoerbestand met AppendPagesFromDocument
split extraheert paginabereiken uit een invoer-PDF naar afzonderlijke uitvoerbestanden met ExtractLoadedPagesToPDF
optimise hercomprimeert FlateDecode- en LZWDecode-stromen met een drempel voor minimale besparing
encrypt past AES-256-, AES-128-, RC4-128- of RC4-40-encryptering toe met door de aanroeper opgegeven wachtwoorden en sleuteltype
validate voert een ingebouwd validatiebeleid uit en retourneert de rapporttekst
ocr.layer maakt doorzoekbare tekst via de default ingebouwde ASCII-engine of expliciet geconfigureerde lokale Tesseract/RapidOCR CLI- en DLL-adapters; zie configuratie van externe OCR-jobs
JSON-schema
De invoer moet één complete JSON-waarde bevatten met geldige scheidingstekens, gesloten containers, geldige string-escapes en uitsluitend JSON-witruimte buiten strings; content na die waarde en getallen buiten het eindige Double-bereik worden geweigerd
De parser accepteert ten hoogste 64 geneste waardeniveaus, met de rootwaarde als eerste niveau meegeteld; misvormde of te diep geneste jobs falen voordat er ook maar één bewerking draait, en deels geparsde waarden worden vrijgegeven
De invoer is een object met een operations-array; elke bewerking heeft een type-veld en typspecifieke parameters
De uitvoer is een object met een results-array; elk resultaat draagt type, status (ok, error of skipped) en bewerkingsspecifieke velden
Stringwaarden behouden geëscapete Unicode-tekens, inclusief \u0000; eindige getallen gebruiken een locale-onafhankelijke decimale punt en kunnen buiten het signed 64-bit-bereik geserialiseerd worden
Numerieke waarden worden opgeslagen als Double en volgen de conversieprecisie voor floating-point van de compileruntime, dus gehele getallen buiten diens exacte integerbereik kunnen bij invoer worden afgerond; GetInt en GetInt64 geven de opgegeven default terug wanneer de afgeronde waarde buiten hun signed integerbereik valt
Per-bewerking-budgetten
Elke bewerking kan een budget-object bevatten met de limieten memoryBytes, timeMilliseconds, objectCount, decompressionRatio en outputBytes
{"operations":[{"type":"optimise","input":"in.pdf","output":"out.pdf",
"budget":{"memoryBytes":268435456,"timeMilliseconds":30000,
"objectCount":1000000,"decompressionRatio":200,"outputBytes":1073741824}}]}
Een limietschending retourneert status=budget-exceeded plus metric, observed, limit en elapsedMilliseconds zonder latere bewerkingen af te breken
Geheugenbudgetten worden ook toegepast op per-stroom- en documentdecode-boekhouding, zodat expansie wordt begrensd voordat grote buffers worden vastgehouden
Ondoorzichtige verwijzing-API
HPDFDocCreate retourneert een ondoorzichtige THPDFDocHandle die een THotPDF-instantie omsluit; HPDFDocLoadFromFile, HPDFDocGetPageCount, HPDFDocSaveLoadedDocument en HPDFDocRunJob werken op de verwijzing; HPDFDocDestroy geeft deze vrij
Deze bron-compatibele Pascal-helpers blijven beschikbaar voor Delphi- en C++Builder-aanroepers
HotPDF Stabiele C-Callback-ABI biedt de flat versioned C-grens voor willekeurig-toegang-invoer, streaming-uitvoer, annulering, voortgang, diagnostiek en de levenscyclus van ondoorzichtige verwijzingen