Loaded Document Toolkit
HotPDF kan een bestaande PDF openen, pagina- en formulieroperaties uitvoeren, getypeerde documentstatus inspecteren, pagina's renderen of doorzoeken, afdrukken met apparaatmogelijkheden en het resultaat opslaan, allemaal zonder dat de workflow naar een andere bibliotheek hoeft
Pagina-operaties en samenvoegen
THotPDF.DeletePagesaccepteert de standaard paginabereiksyntaxis vanaf 1, verwijdert dubbele selecties eenmalig en houdt een geldige paginaboom over- Het verwijderen van geladen pagina's koppelt widgetannotaties en lege AcroForm-veldtakken die alleen bij de verwijderde pagina's hoorden los
THotPDF.InsertPagesFromDocumentenTHotPDF.AppendPagesFromDocumentaccepterenTHPDFMergeOptions- Formuliernaamconflicten worden gecontroleerd vóór het invoegen van pagina's wanneer automatisch hernoemen uit staat, zodat een geweigerde merge het doelpaginaantal ongewijzigd laat
- De waarden van
THPDFMergeOptionzijnmoIncludeOutlines,moIncludeFormFieldsenmoRenameConflictingFormFields - Outlinedoelen worden hergemapt via de gekozen bron-naar-doel-paginakaart, terwijl geïmporteerde formulierwortels in de AcroForm van het doel worden geregistreerd
THotPDF.InsertLoadedBlankPagevoegt een blanco pagina op aanroepersformaat in op een exacte zero-based positieTHPDFWatermarkTemplate.MakeCurvevoegt een kubische Bezier-curve toe aan geordende samengestelde watermerken op geladen pagina'sTHPDFPage.AddCurveWatermarkbiedt dezelfde kubische Bezier-primitief tijdens het authoring van nieuwe documenten- Metadata-setters van geladen documenten markeren het Info-woordenboek als dirty, zodat incrementele opslag bewerkte velden behoudt
BeginIncrementalUpdatehoudt het bronbestand schrijf-vergrendeld en file-backed met een begrensde staartprobe in plaats van het volledige bestand in het geheugen vast te houdenSaveIncrementalUpdatebezoekt alleen bijgehouden wijzigingen, streamt de bronprefix naar een nieuw doel en gebruikt bij hetzelfde doel een gevalideerde, rollbackbeveiligde directe appendOpenLoadedPageContentStreamstelt enkelvoudige en array-/Contents-waarden bloot als één seekable logische stream, houdt ongefilterde segmenten in op de bron gebaseerde opslag vast en decodeert per keer ten hoogste één gefilterd segment- Het bewerken van een pagina waarvan
/Contentseen array is, plakt een vers indirect segment aan zonder de originele streams samen te voegen of te wissen, terwijl rendering en compatibele materialisatie meetkundig groeiende token- en bytebuffers gebruiken - Annotatie-setters op geladen documenten werken inhoud, titel, unieke naam, wijzigingsdatum, rechthoek, vlaggen, kleur en randstijl rechtstreeks bij op het bestaande annotatieobject
- Eindpunten van annotatierechthoeken worden genormaliseerd, gestreepte randen houden alleen positieve streepengtes over en visuele wijzigingen invalid alleen de gecachte renders van de getroffen pagina
ActivateLoadedLinksdetecteert kale web- en e-mailadressen uit gepositioneerde glyphruns, maakt randloze URI-annotaties aan en slaat matchende bestaande links over zonder de annotatielijst voor elke kandidaat opnieuw te scannenExtractLoadedPagesTextToStreamschrijft UTF-8-paginatekst rechtstreeks naar een stream in eigendom van de aanroeper, met regeling van bereik, scheidingsteken en BOMTHPDFViewerModelstelt hit-testing van formuliervelden op pagina's en deterministische toetsenbordnavigatie van boven naar beneden bloot zonder een venster aan te maken- Verificatie van geladen handtekeningen ondersteunt RSA PKCS#1 v1.5, parametervalideerde RSA-PSS, ECDSA en RFC 3161-document- en handtekeningtijdstempels; strikte byte-range-controles melden de lengte van de ondertekende revisie en niet-ondertekende staartbytes en behouden de streampositie van de aanroeper
THPDFSignatureInfo.CertificateTimeValidityclassificeert certificaatsgrenzen en consistentie van ondertekeningstijd zonder de cryptografischesvValid-semantiek te veranderenVerifyLoadedSignatureWithTrustbouwt het signerpad naar door de aanroeper geleverde trust anchors en valideert offline OCSP- of CRL-evidentie, waarbij per-signature VRI-data gaat boven documentniveau-DSS en evidentie van de aanroeperAnalyzeLoadedSignatureRevisionsloopt door traditionele, stream-, hybrid- en compressed-object-xref-geschiedenissen, classificeert latere wijzigingen als langetermijnvalidatie, formulierinvullen en ondertekenen, annotaties of andere modificaties, en beoordeelt DocMDP en FieldMDP onafhankelijkSanitiseLoadedDocumentpast JavaScript-only-, active-content- of strenge untrusted-document-policies toe op de volledige objectgraaf, verwijdert onbereikbare payloadobjecten en bereidt een begrensde compacte herschrijving voorScrubLoadedRedactionRemnantsverwijdert metadata, bijlagen, Redact-annotaties, onbereikbare resources en bewaarde incrementele bronbytes vóór een compacte volledige herschrijving- Begrensd XRef-herstel verplaatst intacte xref-secties of bouwt gevalideerde direct-object-offsets opnieuw op na beschadigde
startxref- en xref-data, met door de aanroeper beheerste scanbudgetten en gestructureerde diagnostiek - Schaalbaar laden houdt bestandsstreamlichamen op de bron gebaseerd tot er wordt gemuteerd, lost gecomprimeerde objecten lui op en accepteert eigen
THPDFRandomAccessSource-implementaties DecodeLoadedStreamToStreamdraait begrensde filterketens naar streams in eigendom van de aanroeper, terwijl documentbrede byteboekhouding, filteraantallimieten, indirecte-referentiecycluscontroles en pijplijndieptewachten vijandige invoer beschermenExtractLoadedImageToStreamkopieert native beeldpayloads of generieke gedecodeerde filteruitvoer rechtstreeks naar streams in eigendom van de aanroeper zonder een byte-array op volledige grootte te materialiserenExportLoadedPagesStructuredserialiseert semantische leesvolgorde, tabellen, geometrie, stijlen en begrensde afbeeldingsvoorkomens als HTML, XHTML, XML of JSONExtractLoadedTypedTablesbouwt canonieke rasters met betrouwbaarheidsscores, samengevoegde bereiken, herhaalde headers, vervolg over pagina's heen, getypeerde waarden en atomaire CSV- of JSON-exportOptimizeLoadedStreamskiest kandidaten voor unfiltered, Flate, LZW, ASCII85, ASCIIHex en RunLength, zet grote werkbuffers af naar tijdelijke bestanden, kan na een zlib-baseline met vier strategieën gebudgetteerde Zopfli draaien en neemt alleen vervangingen over die een positieve besparing drempel halenSubsetLoadedFontsverwijdert onbereikbare glyphprogramma's uit ondersteunde ingebedde TrueType- en CFF-fonts nadat pagina-, Form XObject- en annotatieweergavecontent is gevolgd, terwijl bestaande teken-, CID-, glyph-, breedte- en ToUnicode-mappings behouden blijvenSetDocumentAttachmentMetadatahernoemt een ingesloten bestand en werkt diens beschrijving bij voordat het document wordt opgeslagenTHPDFLoadedFormFieldstelt vlaggen, MaxLen, pagina-index, grenzen en gangbare tekstveldgedragingen bloot voor property-inspectorsTHPDFViewerModelmaakt pagina-snapshots in eigendom van de aanroeper en schrijft de huidige pagina als BMP, JPEG of PNG naar bestanden en streams, terwijl hij de geladen rendercache hergebruiktTHPDFViewerModeldraait de huidige view en gegenereerde snapshots in stappen van 90 graden zonder de geladen PDF-pagina te wijzigenTHPDFViewerModelmaakt rotatiebewuste enhanced metafiles terwijl schaalbare tekst- en vectortekenrecords behouden blijvenTHPDFViewer.DrawCurrentViewenPrintCurrentViewpassen de actieve vectorview aan op en centreren die op een aanroeperscanvas of printerpaginaTHPDFViewerModel.ProcessKeyInputbiedt testbare pagina- en zoomcommando's, terwijl de Viewer het scrollen met pijltjestoetsen afhandeltTHPDFViewerModel.ProcessMouseWheelbiedt testbaar Ctrl+wiel-zoomen, terwijl de Viewer verticaal en horizontaal scrollen rechtstreeks afhandeltTHPDFViewerModel.GetNextZoomLevelenGetPreviousZoomLevelstellen deterministische standaardzoomnavigatie beschikbaar van 5% tot en met 6400%THPDFViewerModel.PagePointToViewenViewPointToPageleveren omkeerbare coordinaten over paginarotatie, viewrotatie, MediaBox-offsets en DPI heenTHPDFViewerModel.CreatePageRegionSnapshotrendert alleen de gevraagde PDF-rechthoek voor selectie-snapshots met begrensd geheugenTHPDFViewer.ResetViewherstelt de presentatiedefaults zonder het document te lossen of de huidige pagina te veranderen
Formulieren en zoeken
THotPDF.AddLoadedRadioButtonmaakt een radio-ouderveld aan met kindwidgets, gedeelde exportwaarden en geldige aan/uit-weergavestatussen- Geladen formuliervelden kunnen vlaggen, maximale lengte, uitlijning, tooltip, rechthoeken per widget, rotatie, zichtbaarheid, afdrukken, randbreedte en -kleur en achtergrondkleur bijwerken, met dirty-tracking voor incrementele opslag
GetLoadedFormFieldNameValuePairsenSetLoadedFormFieldNameValuePairswisselen lichtgewichtnaam=waarde-batches uit viaTStringsExtractLoadedPagesTextaggregeert een paginabereik vanaf 1 met een door de aanroeper gekozen scheidingstekenCMapResourcePathoverrulet automatische CMap-detectie met een door de aanroeper gekozen root met de standaard verzamelmappen- Het toewijzen van
CMapResourcePathwist decoders van geladen fonts zelfs wanneer het pad onveranderd is; roep eerstHPDFClearCMapCachesaan wanneer vervangen externe resources ook opnieuw geladen moeten worden - Standaard CMap-mappings worden per opgeloste resourceroot gecached, ondersteunen gelijktijdige tabeltoegang en gebruiken logaritmisch opzoeken wanneer teken- en bereiktabellen geordend zijn
- Volledige UniJIS-, UniGB-, UniCNS- en UniKS-mappings voor UCS2 en UTF16 zijn ingebed voor horizontale en verticale tekst, inclusief aanvullende scalaren en standaard verticale defaults wanneer
/DW2ontbreekt - Decoders van geladen fonts gebruiken een documentscope-gewogen LRU-cache van 32 MiB die wordt gedeeld door tekstextractie, SVG-export, tekstvervanging en expliciete decoderaanvragen
GetLoadedFontDecodergeeft een onafhankelijke diepe kopie terug, terwijl interne alleen-lezen-consumenten de gecachte geparsde core hergebruikenLoadedFontDecoderCacheMaxBytes,GetLoadedFontDecoderCacheInfoenResetLoadedFontDecoderCacheStatisticsregelen en meten cachereuse- JPEG-regio's met lage resolutie in grijswaarden en RGB gebruiken gereduceerde inverse-DCT-schaling en directe scanline-resampling zonder een raster op volledige resolutie te materialiseren
GetLastJPEGReducedDecodeInforapporteert de bron-, geschaalde, uitvoer-, scanline- en werkgeheugengeometrie van het laatste compatibele verzoekAcquireLoadedImageStreamenAcquireLoadedImageRegionAtResolutiongeven immutable gedeelde handles terug zonder pixelkopieën bij warme hits, terwijl de gecachteTBitmap-methoden compatibiliteit in eigendom van de aanroeper bewarenGetImageDecodeConcurrencyInforapporteert actieve flights, piek parallelle eigenaarsdecodes, dubbele wachttijden, voltooiingen en falenTHotPDF.SearchLoadedNextis een stateless zoekprimitief op paginaniveau dat verder loopt vanaf een eerdereTHPDFTextMatchTHPDFLoadedDocumentFacadegroepeert geladen formulieren, annotaties, outlines, fonts en afbeeldingen in getypeerde collectieobjectenTHPDFLoadedFormInfoomvat de huidige en defaultwaarde, het veldtype, de beschrijving, de alleen-lezen-vlag en de keuzeopties
Outlines en resources
THotPDF.GetLoadedOutlineEntriesgeeft een volledige preorder-snapshot terug alsTHPDFLoadedOutlineEntryArray- Elke
THPDFLoadedOutlineEntryheeft een index, ouderindex, niveau, titel en opgeloste doelpagina-index THPDFLoadedOutlineInfostelt dezelfde hiërarchie beschikbaar viaTHPDFLoadedOutlineCollectionTHPDFLoadedResourceCollectionsomt fonts en geladen afbeeldingen op en kan ondersteunde afbeeldingen extraheren als bitmaps in eigendom van de aanroeper
Ondertekenen met systeemcertificaten
THotPDF.SignPDFWithSystemCertificateondertekent bestands- of streaminvoer via een privésleutel uit het Windows-certificaatarchiefTHotPDF.GetLoadedSignaturePermissionsleest de structuren DocMDP, Catalog-permissiekoppeling, SigFieldLock en FieldMDP inTHPDFSignaturePermissionInfoin, zonder structureel beleid als cryptografische geldigheid te behandelenTHPDFCertificateStoreSelectorkiest current-user- of local-machine-scope, winkelnaam, SHA-1-vingerafdruk en of key-provider-UI is toegestaanTHPDFCMSSignDigestCallbackenHPDFCMSSignPDFStreamWithExternalSignerleveren de onderliggende external-digest-signer-hook- CNG-sleutels gebruiken RSA PKCS#1 SHA-256-ondertekening en legacy CSP-sleutels het equivalente CryptoAPI-pad
Printing
THPDFPrintOptionsondersteunt gebundelde exemplaren, papiercode, eigen papierbreedte en -lengte, oriëntatie, duplex, papierlade en kwaliteitTHPDFPrinterCapabilitiesrapporteert parallelle papiercodes, -namen en -fysieke formaten naast laden, resoluties, duplex, kleur en maximaal aantal exemplarenHPDFBuildPrintPageSequencestelt de deterministische fysieke paginavolgorde bloot die voor gebundelde en ongebundlede taken wordt gebruikt
VCL-viewercomponenten
THPDFViewerModelbeheert navigatie, zoomstatus, tekstzoekresultaten, wrapping en wijzigingsmeldingen zonder een venster aan te makenTHPDFViewerrendert de gekozen pagina in een scrollbare gecachte bitmap, ondersteunt werkelijke grootte, passen aan pagina, passen aan breedte, eigen zoom en viewrotatie, en tekent huidige zoekhits over de gerenderde paginaTHPDFSearchPanelkoppelt zoektekst, hoofdlettergevoeligheid, hele-woord-matchen en navigatie naar volgende of vorige aan een viewerTHPDFOutlineViewertoont de volledige recursieve bladwijzerboom, volgt documentwijzigingen vanuit de gekoppelde viewer en stuurt die viewer aan- Afstammelingen van
THPDFViewerActionleveren acties voor eerste, vorige, volgende, laatste, zoom, passen, rotatie, reset, volgende-zoekresultaat en wissen van zoekresultaten
Minimale viewersetup
PDF.LoadFromFile('input.pdf'); PDFViewer.PDFDocument := PDF; OutlineViewer.Viewer := PDFViewer; SearchPanel.Viewer := PDFViewer; PDFViewer.ZoomMode := vzmFitWidth;
Eigendom en indexering
- Geladen pagina-indexen en doelpagina-indexen zijn zero-based
- Paginabereikstrings zijn 1-based en gebruiken dezelfde parser als extractie en afdrukken
- Facade-records zijn snapshots en collectiemutatiemethoden werken op het huidige geladen document
- Geextraheerde bitmaps zijn in eigendom van de aanroeper
Gerelateerde getypeerde inspectie- en plaatsingsrecords
THPDFPageElementKind,THPDFPageElementenTHPDFBaselineRolebeschrijven tekst-, afbeeldings-, path- en baseline-resultaten die inspectie van geladen pagina-elementen teruggeeftTHPDFWatermarkKind,THPDFWatermarkHorizPosenTHPDFWatermarkVertPoskiezen de inhoud en plaatsing van watermerken op geladen documenten