Metode Alur Kerja Lanjutan THotPDF

Halaman ini menghimpun metode publik lanjutan THotPDF yang mendukung perbaikan dokumen yang dimuat, penulisan ulang berbasis file, parsing xref-stream, keluaran konformance, dan alur kerja shaping

Gunakan halaman yang berfokus pada tugas seperti metode operasi halaman, metode field formulir yang dimuat, metode utilitas, dan ShapingFeatures untuk kode aplikasi umum

Resolusi Dokumen yang Dimuat

Metode Fungsi
DoPageOperationProgressMeneruskan kemajuan operasi halaman melalui event progres yang dikonfigurasi
ResolveLoadedObjectMengurai referensi objek yang dimuat menjadi objek yang dapat diperiksa atau disalin oleh operasi halaman
ResolveLoadedDictionaryMengurai referensi objek yang dimuat dan mengembalikannya sebagai dictionary bila memungkinkan
ResolveLoadedArrayMengurai referensi objek yang dimuat dan mengembalikannya sebagai array bila memungkinkan
EnsureLoadedRootIndexMemastikan indeks katalog yang dimuat sudah diketahui sebelum operasi graf objek dilanjutkan
MaterializeLazyStreamsMemuat data stream yang ditunda sebelum penulisan ulang penuh atau operasi salin tingkat objek
FindLoadedFormFieldByIndexMengembalikan dictionary field AcroForm yang dimuat berdasarkan indeks field dan melaporkan nama efektifnya
FindLoadedFormFieldByNameMengembalikan dictionary field AcroForm yang dimuat berdasarkan nama field lengkap
ConfigurePDFVersionMenerapkan kemampuan versi PDF yang sedang dipilih ke pengaturan keluaran dokumen
RecoverReloadFEKFromBytesMemulihkan kunci enkripsi file untuk dokumen terenkripsi yang dimuat ulang saat kata sandi yang diberikan cocok
LoadedEncryptVersionMelaporkan revisi enkripsi dari dokumen yang sedang dimuat
IsObjStmMemberObjectMelaporkan apakah objek berasal dari anggota object stream dan memerlukan penanganan yang peka terhadap object stream
SyncMaxObjNumFromLoadedObjectsMemindai ulang objek yang dimuat agar nomor objek yang baru dialokasikan tidak bertabrakan dengan nomor yang sudah ada

State dan Penulisan Ulang Direct File

Metode Penggunaan
ClearDirectFileStateMenghapus rekaman status direct-file sebelum handle dipakai ulang atau dilepas
GetDirectFileIndexMemetakan handle direct-file ke slot status yang dipakai oleh Direct File API
DAFindReplacementIndexMencari entri pengganti untuk nomor objek dalam rekaman status direct-file
DAReadObjectSourceMembaca bytes sumber objek yang tersimpan dan data generasi dari status direct-file
DAStoreObjectSourceMenyimpan bytes sumber objek dalam status direct-file untuk penulisan ulang nanti
DAAppendObjectSourceInternalMenambahkan body objek baru ke status direct-file dan mengembalikan nomor objek yang dialokasikan
DATryBuildCompressedFileStateMembangun status direct-file untuk file yang memakai compressed object streams saat didukung
DADirectLoadObjectFromBodyMengurai body objek direct-file menjadi instance objek yang dimuat
DARecoverAES256FileKeyMemulihkan kunci file AES-256 dari dictionary enkripsi dan kata sandi
DADirectPrepareObjectForAES256EncryptMenyiapkan dictionary dan stream objek sebelum enkripsi direct-file AES-256
DADirectDecryptObjectAES256Mendekripsi objek direct-file yang sudah diparsing dengan kunci file AES-256 aktif
DAWriteDirectAES256RewriteMenulis penulisan ulang encrypt atau decrypt AES-256 direct-file ke file tujuan
DADirectEncryptFileAES256Mengenkripsi file yang sudah ada dengan AES-256 melalui jalur penulisan ulang direct-file
DADirectDecryptFileAES256Mendekripsi file AES-256 yang sudah ada melalui jalur penulisan ulang direct-file
DAWriteFullRewriteMenulis penulisan ulang direct-file penuh menggunakan tabel status saat ini

Parsing XRef Stream dan Objek

Metode Penggunaan
LoadXRefStreamDocumentMemuat dokumen yang startxref-nya menunjuk ke xref stream
LoadXRefStreamDocumentFromFileMemuat dokumen xref-stream dari file dan mengembalikan diagnostik lokasi objek utama
LoadXRefStreamDocumentEncFromFileMemuat dokumen xref-stream yang dilindungi kata sandi dari file
XRefProbeObjCountMelaporkan berapa banyak objek yang didaftarkan oleh pemuat xref-stream
XRefProbeObjNumMengembalikan nomor objek pada indeks diagnostik berbasis nol
XRefProbeCompactCountMelaporkan berapa banyak objek terkompresi yang dimaterialisasi dari object stream
XRefProbeType2MismatchesMelaporkan ketidaksesuaian header object stream yang ditemukan saat memuat entri xref tipe 2
XRefProbeObjHasKeyMemeriksa apakah dictionary objek diagnostik yang dimuat berisi key bernama
XRefProbeObjNameValMengembalikan nilai nama dari dictionary objek diagnostik yang dimuat
XRefProbeCompactObjNumMengembalikan nomor objek dari entri diagnostik compact-object
XRefProbeType2EncryptedSkippedMelaporkan object stream terenkripsi yang dilewati oleh pemuat object stream tipe 2
XRefProbeCountReplacementCharsMenghitung karakter pengganti Unicode dalam diagnostik string yang dimuat
XRefProbeObjStringValMengembalikan nilai string dari dictionary objek diagnostik yang dimuat
XRefProbeDecryptObjStmSkipsMelaporkan lompatan decrypt anggota object stream yang dipakai untuk menghindari decrypt ganda
TryParseModernPDFMencoba jalur parse PDF modern untuk dokumen xref-stream dan object-stream
CreateBasicPageContentMembuat objek konten halaman minimal untuk halaman yang dimuat atau disintesis
CreatePDF16PageReferenceMembuat referensi halaman PDF 1.6 menggunakan graf objek yang dimuat
CreateBasicResourcesMembuat dictionary resource minimal untuk rekonstruksi halaman
CreatePDF16ResourcesMembuat dictionary resource PDF 1.6 untuk rekonstruksi halaman
ParseSimplePageObjectMengurai objek halaman sederhana menjadi representasi halaman yang dimuat
ParseRealPageContentMengurai stream konten halaman asli untuk halaman yang dimuat
ProcessObjectStreamsForDecompressionMemproses object stream sebelum objek yang telah didekompresi diperiksa atau disalin
ScanAndLoadReferencedObjectsMemindai dictionary halaman dan resource lalu memuat objek yang direferensikan
ForceLoadMissingReferencedObjectsMemuat referensi yang belum dimaterialisasi selama lintasan parse pertama
FindAllObjectStreamsMenemukan object stream di graf dokumen yang dimuat
ExtractStreamParametersMengekstrak nilai panjang, jumlah, dan offset objek pertama dari object stream
ProcessFlateDecodeMemproses bytes object stream yang dikompresi FlateDecode
AnalyzePageObjectMenganalisis body objek halaman dan memperbarui pencatatan halaman yang dimuat
ExtendPageArrMenambahkan indirect object halaman ke array halaman yang dimuat
ParseSimpleDictionaryMengurai body dictionary menjadi THPDFDictionaryObject
ParseSimpleArrayMengurai body array menjadi THPDFArrayObject
ParseSimpleStreamMengurai body stream menjadi THPDFStreamObject
FindAndProcessObjectStreamMencari object stream berdasarkan nomor objek dan memproses anggotanya
ExtractObjectFromStreamMengekstrak objek dictionary yang sudah diparsing dari anggota object stream
ExtractRawObjectFromStreamMengekstrak bytes objek mentah dari anggota object stream
IsObjectInStreamMelaporkan apakah nomor objek termasuk ke dalam object stream
GetObjectFromStreamMengembalikan anggota object stream yang sudah diparsing sebagai objek dictionary
ParseModernPageObjectMengurai objek halaman yang ditemukan melalui jalur object stream modern
IntelligentDecompressMencoba dekompresi dengan logika fallback yang peka terhadap format
DecompressFlateDecodeMendekompresi bytes stream FlateDecode
ParseObjectStreamMengurai header object stream dan tabel anggota
ReorderPageArrByPagesTreeMenyusun ulang halaman yang dimuat menurut tree halaman
GetCorrectPageOrderFromPagesTreeMembangun urutan halaman dari tree halaman yang dimuat
GetPageObjectIdMengembalikan nomor objek untuk indeks halaman yang dimuat
GetPageArrIndexForObjectNumberMengembalikan indeks array halaman yang dimuat untuk nomor objek halaman
ExtractNumericValueMengekstrak nilai integer setelah key bernama dalam konten objek mentah
ParseDecompressedObjectsMengurai anggota object stream yang telah didekompresi dan mengembalikan nomor objek utama
LoadCompressedXrefStreamMemuat data xref stream terkompresi untuk parsing dokumen modern
LoadObjectStreamsDirectlyMemuat object stream langsung dari dokumen sumber saat ini
ParseXrefStreamDataMengurai data tabel xref-stream yang telah didekode
ProcessObjectStreamObjectsMemproses objek object stream yang telah didekompresi dari nomor objek stream

Konformance dan Keluaran Font

Metode Penggunaan
BuildAndApplyUnicodeFontSubsetMembangun subset font Unicode aktif dan menerapkan stream font serta data pemetaan yang dihasilkan
EnsurePDFUATabsOnAnnotatedPagesMemastikan halaman PDF/UA yang dianotasi mendeklarasikan urutan tab yang diperlukan
EnsurePDFAOutputIntentMemeriksa bahwa output intent PDF/A tersedia saat profil PDF/A yang dipilih memerlukannya
EnsurePDFAColorSpaceConsistencyMemeriksa penggunaan ruang warna perangkat terhadap output intent PDF/A dan pengaturan ruang warna default
EmitDocumentDefaultColorSpacesMenulis pemetaan ruang warna default dokumen yang dipakai oleh alur kerja PDF/A
EnsurePDFXOutputIntentMemeriksa bahwa output intent PDF/X tersedia sebelum keluaran diselesaikan
EnsurePDFXPageBoxesMemeriksa kotak halaman yang disyaratkan oleh profil keluaran PDF/X
_FindPAdESDSSStreamByDERMenemukan stream DSS yang ada dengan bytes DER yang cocok dengan sertifikat, respons OCSP, atau CRL saat membangun referensi PAdES VRI

Helper Shaping Lanjutan

Metode Penggunaan
ApplyArabicGSUBPositionalMenerapkan substitusi GSUB posisi Arab dan memetakan glyph ID yang dibentuk melalui codepoint sintetis
ArabicGSUBShapeToGIDsMengembalikan urutan glyph ID hasil GSUB Arab tanpa mengeluarkan teks
ApplyArabicGSUBNativeShapingMenerapkan pembentukan GSUB Arab native untuk font yang menyediakan substitusi glyph posisi
ApplyLatinLigatureFeatureMenerapkan feature ligatur Latin bernama seperti liga atau clig ke satu run Unicode
ApplyLatinSingleSubstitutionFeatureMenerapkan feature substitusi tunggal Latin bernama ke satu run Unicode
ApplyLatinFractionFeatureMenerapkan feature frac ke run pecahan numerik saat font menyediakan substitusi yang diperlukan
ApplyArabicGSUBRefinementMenerapkan penyempurnaan ligatur GSUB Arab setelah lintasan pembentukan Arab dasar
_ApplyGSUBLookupAtMenerapkan satu lookup GSUB yang telah diurai pada posisi glyph-run dan melaporkan span yang diperbarui
_ApplyGSUBFeatureToRunMenerapkan semua lookup untuk satu feature GSUB di seluruh glyph run dalam urutan lookup-list
_ApplyGSUBFeatureAtRunPositionMenerapkan feature GSUB pada satu posisi glyph-run untuk lintasan shaping yang peka terhadap posisi
_TibetanShapeSpanToGIDsMembentuk satu span Tibet menjadi glyph ID sebelum keluaran codepoint sintetis
_GSUBResolveIndicScriptMemilih tag script Indic OpenType yang tersedia di font, dengan memprioritaskan tag script v2 saat ada
_IndicShapeSyllableToGIDsMenerapkan rantai feature GSUB Indic ke satu suku kata yang sudah diurutkan ulang dan mengembalikan glyph ID

Lihat juga