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