THotPDF Advanced Workflow Methoden

Diese Seite fasst fortgeschrittene öffentliche THotPDF-Methoden zusammen, die Reparatur geladener Dokumente, dateigestütztes Neuschreiben, XRef-Stream-Parsing, Konformitätsausgabe und Shaping-Workflows unterstützen

Für üblichen Anwendungscode sollten die aufgabenbezogenen Seiten wie Page Operation Methods, Loaded Form Field Methods, Utility Methods und ShapingFeatures bevorzugt werden

Loaded Document Resolution

Method Usage
DoPageOperationProgressMeldet den Fortschritt des Seitenvorgangs über das konfigurierte Fortschrittsereignis
ResolveLoadedObjectResolves a loaded object reference to the object that page operations can inspect or copy
ResolveLoadedDictionaryResolves a loaded object reference and returns it as a dictionary when possible
ResolveLoadedArrayResolves a loaded object reference and returns it as an array when possible
EnsureLoadedRootIndexStellt sicher, dass der geladene Katalogindex bekannt ist, bevor Objektgraph-Operationen fortgesetzt werden
MaterializeLazyStreamsLädt verzögerte Stream-Daten vor einer vollständigen Neuschreibung oder einem Kopiervorgang auf Objektebene
FindLoadedFormFieldByIndexReturns a loaded AcroForm field dictionary by field index and reports its effective name
FindLoadedFormFieldByNameReturns a loaded AcroForm field dictionary by fully qualified field name
ConfigurePDFVersionWendet die Funktionen der aktuell ausgewählten PDF-Version auf die Dokumentausgabeeinstellungen an
RecoverReloadFEKFromBytesStellt den Dateiverschlüsselungsschlüssel für ein neu geladenes verschlüsseltes Dokument wieder her, wenn das angegebene Passwort übereinstimmt
LoadedEncryptVersionReports the encryption revision of the currently loaded document
IsObjStmMemberObjectReports whether an object came from an object stream member and needs object-stream-aware handling
SyncMaxObjNumFromLoadedObjectsRescans loaded objects so newly allocated object numbers do not collide with existing numbers

Direct File State and Rewrite

Method Usage
ClearDirectFileStateLöscht einen Direct-File-Zustandsdatensatz, bevor ein Handle wiederverwendet oder freigegeben wird
GetDirectFileIndexOrdnet ein Direct-File-Handle dem vom Direct-File-API verwendeten Zustandsslot zu
DAFindReplacementIndexFindet den Ersetzungseintrag für eine Objektnummer in einem Direct-File-Zustandsdatensatz
DAReadObjectSourceLiest gespeicherte Objektquellbytes und Generationsdaten aus dem Direct-File-Zustand
DAStoreObjectSourceStores object source bytes in direct-file state for later rewrite
DAAppendObjectSourceInternalHängt einen neuen Objektinhalt an den Direct-File-Zustand an und gibt dessen zugewiesene Objektnummer zurück
DATryBuildCompressedFileStateErstellt den Direct-File-Zustand für Dateien, die komprimierte Objekt-Streams verwenden, sofern unterstützt
DADirectLoadObjectFromBodyAnalysiert den Inhalt eines Direct-File-Objekts in eine geladene Objektinstanz
DARecoverAES256FileKeyStellt einen AES-256-Dateischlüssel aus einem Verschlüsselungsverzeichnis und einem Passwort wieder her
DADirectPrepareObjectForAES256EncryptBereitet Objektverzeichnisse und Streams vor der AES-256 Direct-File-Verschlüsselung vor
DADirectDecryptObjectAES256Entschlüsselt ein analysiertes Direct-File-Objekt mit dem aktiven AES-256-Dateischlüssel
DAWriteDirectAES256RewriteWrites a direct-file AES-256 encrypt or decrypt rewrite to a target file
DADirectEncryptFileAES256Verschlüsselt eine vorhandene Datei mit AES-256 über den Direct-File-Umschreibepfad
DADirectDecryptFileAES256Entschlüsselt eine vorhandene AES-256-Datei über den Direct-File-Umschreibepfad
DAWriteFullRewriteWrites a full direct-file rewrite using the current state table

XRef Stream and Object Parsing

Method Usage
LoadXRefStreamDocumentLädt ein Dokument, dessen startxref auf einen XRef-Stream zeigt
LoadXRefStreamDocumentFromFileLädt ein XRef-Stream-Dokument aus einer Datei und gibt wichtige Diagnosedaten zum Objektort zurück
LoadXRefStreamDocumentEncFromFileLädt ein passwortgeschütztes XRef-Stream-Dokument aus einer Datei
XRefProbeObjCountReports how many objects the xref-stream loader registered
XRefProbeObjNumReturns the object number at a zero-based diagnostic index
XRefProbeCompactCountReports how many compressed objects were materialized from object streams
XRefProbeType2MismatchesReports object-stream header mismatches found while loading type-2 xref entries
XRefProbeObjHasKeyPrüft, ob ein geladenes Diagnoseobjekt-Verzeichnis einen bestimmten Schlüssel enthält
XRefProbeObjNameValReturns a name value from a loaded diagnostic object dictionary
XRefProbeCompactObjNumReturns the object number of a compact-object diagnostic entry
XRefProbeType2EncryptedSkippedMeldet verschlüsselte Objekt-Streams, die vom Type-2-Objektstream-Loader übersprungen wurden
XRefProbeCountReplacementCharsZählt Unicode-Ersatzzeichen in geladenen Zeichenfolgen-Diagnosen
XRefProbeObjStringValReturns a string value from a loaded diagnostic object dictionary
XRefProbeDecryptObjStmSkipsReports object-stream member decrypt skips used to avoid double decryption
TryParseModernPDFVersucht den modernen PDF-Analysepfad für XRef-Stream- und Objekt-Stream-Dokumente
CreateBasicPageContentErstellt minimale Seiteninhaltsobjekte für eine geladene oder synthetisierte Seite
CreatePDF16PageReferenceErstellt eine PDF 1.6-Seitenreferenz unter Verwendung des geladenen Objektgraphen
CreateBasicResourcesErstellt ein minimales Ressourcenverzeichnis für die Seitenrekonstruktion
CreatePDF16ResourcesErstellt ein PDF 1.6-Ressourcenverzeichnis für die Seitenrekonstruktion
ParseSimplePageObjectAnalysiert ein einfaches Seitenobjekt in die geladene Seitendarstellung
ParseRealPageContentAnalysiert den ursprünglichen Seiteninhalt-Stream für eine geladene Seite
ProcessObjectStreamsForDecompressionVerarbeitet Objekt-Streams, bevor dekomprimierte Objekte untersucht oder kopiert werden
ScanAndLoadReferencedObjectsScans page and resource dictionaries and loads referenced objects
ForceLoadMissingReferencedObjectsLädt Referenzen, die während des ersten Analysedurchlaufs nicht materialisiert wurden
FindAllObjectStreamsLokaliert Objekt-Streams im geladenen Dokumentgraphen
ExtractStreamParameterExtrahiert die Längen-, Anzahl- und Versatzwerte des ersten Objekts des Objekt-Streams
ProcessFlateDecodeVerarbeitet FlateDecode-komprimierte Objekt-Stream-Bytes
AnalyzePageObjectAnalysiert den Inhalt eines Seitenobjekts und aktualisiert die Buchhaltung der geladenen Seiten
ExtendPageArrFügt ein indirektes Seitenobjekt dem Array der geladenen Seiten hinzu
ParseSimpleDictionaryAnalysiert den Inhalt eines Verzeichnisses in ein THPDFDictionaryObject
ParseSimpleArrayAnalysiert den Inhalt eines Arrays in ein THPDFArrayObject
ParseSimpleStreamAnalysiert den Inhalt eines Streams in ein THPDFStreamObject
FindAndProcessObjectStreamFindet einen Objekt-Stream anhand der Objektnummer und verarbeitet dessen Elemente
ExtractObjectFromStreamExtrahiert ein analysiertes Verzeichnisobjekt aus einem Objekt-Stream-Element
ExtractRawObjectFromStreamExtrahiert rohe Objekt-Bytes aus einem Objekt-Stream-Element
IsObjectInStreamReports whether an object number belongs to an object stream
GetObjectFromStreamReturns a parsed object-stream member as a dictionary object
ParseModernPageObjectAnalysiert ein Seitenobjekt, das über den modernen Objekt-Stream-Pfad gefunden wurde
IntelligentDecompressVersucht die Dekomprimierung mit formatbezogener Fallback-Logik
DecompressFlateDecodeDekomprimiert die Byte-Daten eines FlateDecode-Streams
ParseObjectStreamAnalysiert einen Objekt-Stream-Header und die Elementtabelle
ReorderPageArrByPagesTreeOrdnet geladene Seiten entsprechend dem Seitenbaum neu
GetCorrectPageOrderFromPagesTreeErstellt die Seitenreihenfolge aus dem geladenen Seitenbaum
GetPageObjectIdReturns the object number for a loaded page index
GetPageArrIndexForObjectNumberReturns the loaded page-array index for a page object number
ExtractNumericValueExtrahiert einen Ganzzahlwert nach einem benannten Schlüssel im rohen Objektinhalt
ParseDecompressedObjectsAnalysiert dekomprimierte Objekt-Stream-Elemente und gibt wichtige Objektnummern zurück
LoadCompressedXrefStreamLädt komprimierte XRef-Stream-Daten für die moderne Dokumentenanalyse
LoadObjectStreamsDirectlyLädt Objekt-Streams direkt aus dem aktuellen Quelldokument
ParseXrefStreamDataAnalysiert dekodierte XRef-Stream-Tabellendaten
ProcessObjectStreamObjectsVerarbeitet dekomprimierte Objekt-Stream-Objekte aus einer Stream-Objektnummer

Conformance and Font Output

Method Usage
BuildAndApplyUnicodeFontSubsetErstellt das aktive Unicode-Schriftart-Subset und wendet die resultierenden Schriftart-Stream- und Zuordnungsdaten an
EnsurePDFUATabsOnAnnotatedPagesStellt sicher, dass mit Anmerkungen versehene PDF/UA-Seiten die erforderliche Tabulatorreihenfolge deklarieren
EnsurePDFAOutputIntentPrüft, ob eine PDF/A-Ausgabeabsicht vorhanden ist, wenn das ausgewählte PDF/A-Profil eine erfordert
EnsurePDFAColorSpaceConsistencyPrüft die Verwendung des Geräte-Farbraums im Vergleich zu PDF/A Output-Intent- und Standard-Farbraum-Einstellungen
EmitDocumentDefaultColorSpacesWrites document default colour-space mappings used by PDF/A workflows
EnsurePDFXOutputIntentPrüft, ob eine PDF/X-Ausgabeabsicht vorhanden ist, bevor die Ausgabe abgeschlossen wird
EnsurePDFXPageBoxesPrüft die von PDF/X-Ausgabeprofilen geforderten Seitenrahmen (Page Boxes)
_FindPAdESDSSStreamByDERFindet einen vorhandenen DSS-Stream, dessen DER-Bytes mit einem Zertifikat, einer OCSP-Antwort oder einer CRL übereinstimmen, während PAdES-VRI-Referenzen erstellt werden

Advanced Shaping Helpers

Method Usage
ApplyArabicGSUBPositionalWendet arabische positionale GSUB-Ersetzungen an und ordnet gestaltete Glyphen-IDs synthetischen Codepunkten zu
ArabicGSUBShapeToGIDsReturns the Arabic GSUB-shaped glyph-ID sequence without emitting text
ApplyArabicGSUBNativeShapingWendet native arabische GSUB-Gestaltung für Schriftarten an, die positionale Glyphenersetzungen bereitstellen
ApplyLatinLigatureFeatureWendet ein benanntes lateinisches Ligaturfeature wie liga oder clig auf einen Unicode-Lauf an
ApplyLatinSingleSubstitutionFeatureWendet ein benanntes lateinisches Einzelersetzungsfeature auf einen Unicode-Lauf an
ApplyLatinFractionFeatureWendet das Frac-Feature (Bruchfeature) auf einen numerischen Bruchteillauf an, wenn die Schriftart die erforderlichen Ersetzungen bereitstellt
ApplyArabicGSUBRefinementWendet die arabische GSUB-Ligaturverfeinerung nach dem grundlegenden arabischen Gestaltungsschritt an
_ApplyGSUBLookupAtWendet ein aufgelöstes GSUB-Lookup an einer Glyphenlaufposition an und meldet den aktualisierten Bereich
_ApplyGSUBFeatureToRunWendet alle Lookups für ein GSUB-Feature über einen Glyphenlauf in der Reihenfolge der Lookup-Liste an
_ApplyGSUBFeatureAtRunPositionWendet ein GSUB-Feature an einer Glyphenlaufposition für positionssensitive Gestaltungsschritte an
_TibetanShapeSpanToGIDsShapes one Tibetan span to glyph IDs before synthetic-codepoint output
_GSUBResolveIndicScriptWählt den in der Schriftart verfügbaren OpenType Indic-Skript-Tag aus, wobei v2-Skript-Tags bevorzugt werden, falls vorhanden
_IndicShapeSyllableToGIDsWendet die Indic-GSUB-Feature-Kette auf eine umgeordnete Silbe an und gibt Glyphen-IDs zurück

See also