THotPDF Advanced Workflow – metody

Tato stránka shromažďuje pokročilé veřejné metody THotPDF, které podporují opravy načtených dokumentů, přepis založený na souborech, parsování xref streamů, výstup shody a workflow tvarování

Pro běžný aplikační kód dávejte přednost tematickým stránkám, například metody operací se stránkami, metody načtených formulářových polí, utility metody a ShapingFeatures

Řešení načteného dokumentu

Metoda Použití
DoPageOperationProgressOdesílá průběh operací se stránkami přes nakonfigurovanou událost průběhu
ResolveLoadedObjectVyřeší referenci načteného objektu na objekt, který mohou operace se stránkami kontrolovat nebo kopírovat
ResolveLoadedDictionaryVyřeší referenci načteného objektu a podle možnosti ji vrátí jako slovník
ResolveLoadedArrayVyřeší referenci načteného objektu a podle možnosti ji vrátí jako pole
EnsureLoadedRootIndexZajistí, že je před pokračováním operací nad grafem objektů znám index načteného katalogu
MaterializeLazyStreamsNačte odložená data streamů před úplným přepisem nebo kopírováním na úrovni objektů
FindLoadedFormFieldByIndexVrátí slovník načteného pole AcroForm podle indexu pole a oznámí jeho efektivní název
FindLoadedFormFieldByNameVrátí slovník načteného pole AcroForm podle plně kvalifikovaného názvu pole
ConfigurePDFVersionPoužije schopnosti aktuálně vybrané verze PDF na nastavení výstupu dokumentu
RecoverReloadFEKFromBytesObnoví šifrovací klíč souboru pro znovu načtený šifrovaný dokument, když dodané heslo odpovídá
LoadedEncryptVersionHlásí revizi šifrování aktuálně načteného dokumentu
IsObjStmMemberObjectHlásí, zda objekt pochází z členu object streamu a vyžaduje zpracování vědomé si object streamů
SyncMaxObjNumFromLoadedObjectsZnovu projde načtené objekty, aby nově alokovaná čísla objektů nekolidovala s existujícími čísly

Stav Direct File a přepis

Metoda Použití
ClearDirectFileStateVyčistí záznam stavu direct-file před opětovným použitím nebo uvolněním handle
GetDirectFileIndexMapuje handle direct-file na slot stavu používaný Direct File API
DAFindReplacementIndexNajde náhradní položku pro číslo objektu v záznamu stavu direct-file
DAReadObjectSourceČte uložené bajty zdroje objektu a generační data ze stavu direct-file
DAStoreObjectSourceUloží bajty zdroje objektu do stavu direct-file pro pozdější přepis
DAAppendObjectSourceInternalPřipojí nové tělo objektu do stavu direct-file a vrátí jeho alokované číslo objektu
DATryBuildCompressedFileStateSestaví stav direct-file pro soubory používající komprimované object streams, pokud jsou podporované
DADirectLoadObjectFromBodyParsuje tělo objektu direct-file do instance načteného objektu
DARecoverAES256FileKeyObnoví souborový klíč AES-256 ze šifrovacího slovníku a hesla
DADirectPrepareObjectForAES256EncryptPřipraví slovníky a streamy objektů před šifrováním AES-256 v direct-file režimu
DADirectDecryptObjectAES256Dešifruje parsovaný direct-file objekt aktivním souborovým klíčem AES-256
DAWriteDirectAES256RewriteZapíše direct-file přepis pro šifrování nebo dešifrování AES-256 do cílového souboru
DADirectEncryptFileAES256Zašifruje existující soubor pomocí AES-256 přes cestu direct-file přepisu
DADirectDecryptFileAES256Dešifruje existující soubor AES-256 přes cestu direct-file přepisu
DAWriteFullRewriteZapíše úplný direct-file přepis s použitím aktuální tabulky stavu

XRef stream a parsování objektů

Metoda Použití
LoadXRefStreamDocumentNačte dokument, jehož startxref ukazuje na xref stream
LoadXRefStreamDocumentFromFileNačte dokument s xref streamem ze souboru a vrátí klíčovou diagnostiku umístění objektů
LoadXRefStreamDocumentEncFromFileNačte ze souboru dokument s xref streamem chráněný heslem
XRefProbeObjCountHlásí, kolik objektů zaregistroval loader xref streamu
XRefProbeObjNumVrátí číslo objektu na diagnostickém indexu počítaném od nuly
XRefProbeCompactCountHlásí, kolik komprimovaných objektů bylo zhmotněno z object streamů
XRefProbeType2MismatchesHlásí neshody hlaviček object streamů nalezené při načítání xref položek typu 2
XRefProbeObjHasKeyKontroluje, zda načtený diagnostický slovník objektu obsahuje pojmenovaný klíč
XRefProbeObjNameValVrátí hodnotu názvu z načteného diagnostického slovníku objektu
XRefProbeCompactObjNumVrátí číslo objektu kompaktní diagnostické položky objektu
XRefProbeType2EncryptedSkippedHlásí šifrované object streams přeskočené loaderem object streamů typu 2
XRefProbeCountReplacementCharsPočítá znaky Unicode replacement v diagnostice načtených řetězců
XRefProbeObjStringValVrátí řetězcovou hodnotu z načteného diagnostického slovníku objektu
XRefProbeDecryptObjStmSkipsHlásí přeskočení dešifrování členů object streamu použitá k zabránění dvojímu dešifrování
TryParseModernPDFZkusí moderní cestu parsování PDF pro dokumenty s xref streamy a object streamy
CreateBasicPageContentVytvoří minimální objekty obsahu stránky pro načtenou nebo syntetizovanou stránku
CreatePDF16PageReferenceVytvoří referenci stránky PDF 1.6 s použitím načteného grafu objektů
CreateBasicResourcesVytvoří minimální slovník prostředků pro rekonstrukci stránky
CreatePDF16ResourcesVytvoří slovník prostředků PDF 1.6 pro rekonstrukci stránky
ParseSimplePageObjectParsuje jednoduchý objekt stránky do reprezentace načtené stránky
ParseRealPageContentParsuje původní stream obsahu stránky pro načtenou stránku
ProcessObjectStreamsForDecompressionZpracuje object streams před kontrolou nebo kopírováním dekomprimovaných objektů
ScanAndLoadReferencedObjectsProhledá slovníky stránky a prostředků a načte odkazované objekty
ForceLoadMissingReferencedObjectsNačte reference, které nebyly zhmotněny během prvního průchodu parsování
FindAllObjectStreamsVyhledá object streams v grafu načteného dokumentu
ExtractStreamParametersExtrahuje délku object streamu, počet a hodnoty offsetu prvního objektu
ProcessFlateDecodeZpracuje bajty object streamu komprimované pomocí FlateDecode
AnalyzePageObjectAnalyzuje tělo objektu stránky a aktualizuje evidenci načtených stránek
ExtendPageArrPřidá nepřímý objekt stránky do pole načtených stránek
ParseSimpleDictionaryParsuje tělo slovníku do THPDFDictionaryObject
ParseSimpleArrayParsuje tělo pole do THPDFArrayObject
ParseSimpleStreamParsuje tělo streamu do THPDFStreamObject
FindAndProcessObjectStreamNajde object stream podle čísla objektu a zpracuje jeho členy
ExtractObjectFromStreamExtrahuje parsovaný slovníkový objekt z členu object streamu
ExtractRawObjectFromStreamExtrahuje surové bajty objektu z členu object streamu
IsObjectInStreamHlásí, zda číslo objektu patří do object streamu
GetObjectFromStreamVrátí parsovaný člen object streamu jako slovníkový objekt
ParseModernPageObjectParsuje objekt stránky nalezený moderní cestou object streamů
IntelligentDecompressZkusí dekompresi s náhradní logikou podle formátu
DecompressFlateDecodeDekomprimuje bajty streamu FlateDecode
ParseObjectStreamParsuje hlavičku object streamu a tabulku členů
ReorderPageArrByPagesTreePřeřadí načtené stránky podle stromu stránek
GetCorrectPageOrderFromPagesTreeSestaví pořadí stránek z načteného stromu stránek
GetPageObjectIdVrátí číslo objektu pro index načtené stránky
GetPageArrIndexForObjectNumberVrátí index v poli načtených stránek pro číslo objektu stránky
ExtractNumericValueExtrahuje celočíselnou hodnotu za pojmenovaným klíčem v surovém obsahu objektu
ParseDecompressedObjectsParsuje dekomprimované členy object streamu a vrací klíčová čísla objektů
LoadCompressedXrefStreamNačte komprimovaná data xref streamu pro moderní parsování dokumentu
LoadObjectStreamsDirectlyNačte object streams přímo z aktuálního zdrojového dokumentu
ParseXrefStreamDataParsuje dekódovaná tabulková data xref streamu
ProcessObjectStreamObjectsZpracuje dekomprimované objekty z object streamu podle čísla objektu streamu

Shoda a výstup písem

Metoda Použití
BuildAndApplyUnicodeFontSubsetSestaví aktivní podmnožinu písma Unicode a použije výsledný stream písma i mapovací data
EnsurePDFUATabsOnAnnotatedPagesZajistí, že anotované stránky PDF/UA deklarují požadované pořadí tabulátoru
EnsurePDFAOutputIntentKontroluje, že je přítomen output intent PDF/A, když jej vybraný profil PDF/A vyžaduje
EnsurePDFAColorSpaceConsistencyKontroluje použití device barevných prostorů vůči output intentu PDF/A a nastavení výchozích barevných prostorů
EmitDocumentDefaultColorSpacesZapisuje mapování výchozích barevných prostorů dokumentu používaná workflow PDF/A
EnsurePDFXOutputIntentKontroluje, že je před dokončením výstupu přítomen output intent PDF/X
EnsurePDFXPageBoxesKontroluje page boxes vyžadované výstupními profily PDF/X
_FindPAdESDSSStreamByDERNajde existující stream DSS, jehož bajty DER odpovídají certifikátu, odpovědi OCSP nebo CRL při sestavování referencí PAdES VRI

Pokročilé pomocné metody tvarování

Metoda Použití
ApplyArabicGSUBPositionalPoužije arabské poziční substituce GSUB a mapuje vytvarovaná ID glyfů přes syntetické kódové body
ArabicGSUBShapeToGIDsVrátí arabskou sekvenci ID glyfů vytvarovanou pomocí GSUB bez vypsání textu
ApplyArabicGSUBNativeShapingPoužije nativní arabské tvarování GSUB pro písma, která poskytují poziční substituce glyfů
ApplyLatinLigatureFeaturePoužije pojmenovanou latinskou ligaturní funkci, například liga nebo clig, na běh Unicode
ApplyLatinSingleSubstitutionFeaturePoužije pojmenovanou latinskou funkci jednoduché substituce na běh Unicode
ApplyLatinFractionFeaturePoužije funkci frac na číselný zlomkový běh, když písmo poskytuje potřebné substituce
ApplyArabicGSUBRefinementPoužije zpřesnění arabských ligatur GSUB po základním průchodu arabského tvarování
_ApplyGSUBLookupAtPoužije jedno vyřešené vyhledávání GSUB na pozici běhu glyfů a ohlásí aktualizovaný rozsah
_ApplyGSUBFeatureToRunPoužije všechna vyhledávání jedné funkce GSUB napříč během glyfů v pořadí lookup-listu
_ApplyGSUBFeatureAtRunPositionPoužije funkci GSUB na jedné pozici běhu glyfů pro pozičně citlivé průchody tvarování
_TibetanShapeSpanToGIDsVytvaruje jeden tibetský úsek na ID glyfů před výstupem syntetických kódových bodů
_GSUBResolveIndicScriptVybere tag OpenType Indic script dostupný v písmu a dává přednost tagům skriptu v2, pokud jsou přítomné
_IndicShapeSyllableToGIDsPoužije řetězec funkcí Indic GSUB na jednu přeřazenou slabiku a vrátí ID glyfů

Viz také