THotPDF Advanced Workflow Methods

หน้านี้รวบรวมเมธอดสาธารณะขั้นสูงของ THotPDF ที่สนับสนุนการซ่อมแซมเอกสารที่โหลด, การเขียนซ้ำที่ใช้ไฟล์เป็นฐาน, การวิเคราะห์โครงสร้าง xref-stream, เอาต์พุตความสอดคล้อง และเวิร์กโฟลว์การปรับรูปร่าง

พิจารณาเลือกใช้หน้าเว็บที่มุ่งเน้นตามงาน เช่น เมธอดการทำงานของหน้า เมธอดฟิลด์ฟอร์มที่โหลด เมธอดสำหรับอำนวยความสะดวก และ ShapingFeatures สำหรับรหัสแอปพลิเคชันทั่วไป

ความละเอียดของเอกสารที่โหลด

Method Usage
DoPageOperationProgressส่งความคืบหน้าการทำงานของหน้าผ่านเหตุการณ์ความคืบหน้าที่กำหนดค่าไว้
ResolveLoadedObjectแก้ไขการอ้างอิงวัตถุที่โหลดเป็นวัตถุที่การดำเนินการของหน้าสามารถตรวจสอบหรือคัดลอกได้
ResolveLoadedDictionaryแก้ไขการอ้างอิงวัตถุที่โหลดและส่งคืนในรูปแบบพจนานุกรมเมื่อเป็นไปได้
ResolveLoadedArrayแก้ไขการอ้างอิงวัตถุที่โหลดและส่งคืนในรูปแบบอาร์เรย์เมื่อเป็นไปได้
EnsureLoadedRootIndexตรวจสอบให้แน่ใจว่าดัชนีแคตตาล็อกที่โหลดไว้เป็นที่รู้จักก่อนที่การดำเนินการกราฟวัตถุจะดำเนินต่อไป
MaterializeLazyStreamsโหลดข้อมูลสตรีมแบบเลื่อนเวลา (deferred stream data) ก่อนการเขียนซ้ำทั้งหมดหรือการดำเนินการคัดลอกในระดับวัตถุ
FindLoadedFormFieldByIndexส่งคืนพจนานุกรมฟิลด์ AcroForm ที่โหลดด้วยดัชนีฟิลด์และรายงานชื่อที่มีผลบังคับใช้
FindLoadedFormFieldByNameส่งคืนพจนานุกรมฟิลด์ AcroForm ที่โหลดด้วยชื่อฟิลด์แบบเต็ม (fully qualified field name)
ConfigurePDFVersionใช้ความสามารถของเวอร์ชัน PDF ที่เลือกในปัจจุบันกับระดับเอาต์พุตของเอกสาร
RecoverReloadFEKFromBytesกู้คืนคีย์เข้ารหัสไฟล์สำหรับเอกสารที่เข้ารหัสที่โหลดใหม่เมื่อรหัสผ่านที่ระบุตรงกัน
LoadedEncryptVersionรายงานเวอร์ชันการแก้ไขการเข้ารหัส (encryption revision) ของเอกสารที่โหลดอยู่ในปัจจุบัน
IsObjStmMemberObjectรายงานว่าวัตถุมาจากสมาชิกสตรีมวัตถุหรือไม่ และจำเป็นต้องมีการจัดการแบบที่รองรับสตรีมวัตถุ (object-stream-aware) หรือไม่
SyncMaxObjNumFromLoadedObjectsสแกนวัตถุที่โหลดใหม่อีกครั้งเพื่อไม่ให้หมายเลขวัตถุที่จัดสรรใหม่ชนกับหมายเลขที่มีอยู่

สถานะและการเขียนซ้ำ Direct File

Method Usage
ClearDirectFileStateล้างข้อมูลบันทึกสถานะ direct-file ก่อนที่จะนำแฮนเดิลกลับมาใช้ใหม่หรือปล่อยออก
GetDirectFileIndexจับคู่แฮนเดิล direct-file กับช่องสถานะที่ใช้งานโดย Direct File API
DAFindReplacementIndexค้นหารายการทดแทนสำหรับหมายเลขวัตถุในบันทึกสถานะ direct-file
DAReadObjectSourceอ่านไบต์ต้นฉบับของวัตถุและข้อมูลการสร้าง (generation data) ที่เก็บไว้จากสถานะ direct-file
DAStoreObjectSourceเก็บไบต์ต้นฉบับของวัตถุไว้ในสถานะ direct-file สำหรับการเขียนซ้ำในภายหลัง
DAAppendObjectSourceInternalเพิ่มเนื้อหาของวัตถุใหม่ต่อท้ายสถานะ direct-file และคืนค่าหมายเลขวัตถุที่จัดสรร
DATryBuildCompressedFileStateสร้างสถานะ direct-file สำหรับไฟล์ที่ใช้สตรีมวัตถุแบบบีบอัดเมื่อรองรับ
DADirectLoadObjectFromBodyวิเคราะห์เนื้อหาวัตถุ direct-file ให้เป็นอินสแตนซ์วัตถุที่โหลดไว้
DARecoverAES256FileKeyกู้คืนคีย์ไฟล์ AES-256 จากพจนานุกรมการเข้ารหัสและรหัสผ่าน
DADirectPrepareObjectForAES256Encryptเตรียมพจนานุกรมและสตรีมวัตถุก่อนเข้ารหัสไฟล์แบบ direct-file ด้วย AES-256
DADirectDecryptObjectAES256ถอดรหัสวัตถุ direct-file ที่ผ่านการวิเคราะห์ด้วยคีย์ไฟล์ AES-256 ที่ใช้งานอยู่
DAWriteDirectAES256Rewriteเขียนการเข้ารหัสหรือถอดรหัส AES-256 ของ direct-file ซ้ำลงในไฟล์เป้าหมาย
DADirectEncryptFileAES256เข้ารหัสไฟล์ที่มีอยู่ด้วย AES-256 ผ่านเส้นทางการเขียนซ้ำ direct-file
DADirectDecryptFileAES256ถอดรหัสไฟล์ AES-256 ที่มีอยู่ผ่านเส้นทางการเขียนซ้ำ direct-file
DAWriteFullRewriteเขียนการเขียนซ้ำ direct-file เต็มรูปแบบโดยใช้ตารางสถานะปัจจุบัน

การวิเคราะห์โครงสร้าง XRef Stream และวัตถุ

Method Usage
LoadXRefStreamDocumentโหลดเอกสารที่มีจุดเริ่มต้น xref (startxref) ชี้ไปยังสตรีม xref
LoadXRefStreamDocumentFromFileโหลดเอกสาร xref-stream จากไฟล์และส่งคืนผลการวินิจฉัยตำแหน่งวัตถุที่สำคัญ
LoadXRefStreamDocumentEncFromFileโหลดเอกสาร xref-stream ที่ป้องกันด้วยรหัสผ่านจากไฟล์
XRefProbeObjCountรายงานจำนวนวัตถุที่ตัวโหลดสตรีม xref ได้ลงทะเบียนไว้
XRefProbeObjNumส่งคืนหมายเลขวัตถุที่ดัชนีการวินิจฉัยซึ่งเริ่มต้นด้วยศูนย์
XRefProbeCompactCountรายงานจำนวนวัตถุบีบอัดที่สร้างขึ้นจริงจากสตรีมวัตถุ
XRefProbeType2Mismatchesรายงานความไม่สอดคล้องกันของส่วนหัวของสตรีมวัตถุที่พบขณะโหลดรายการ xref ประเภท 2
XRefProbeObjHasKeyตรวจสอบว่าพจนานุกรมวัตถุวินิจฉัยที่โหลดไว้มีคีย์ที่ระบุชื่อหรือไม่
XRefProbeObjNameValส่งคืนค่าชื่อจากพจนานุกรมวัตถุวินิจฉัยที่โหลดไว้
XRefProbeCompactObjNumส่งคืนหมายเลขวัตถุของรายการวินิจฉัยวัตถุแบบกระชับ
XRefProbeType2EncryptedSkippedรายงานสตรีมวัตถุที่เข้ารหัสซึ่งถูกข้ามโดยตัวโหลดสตรีมวัตถุประเภท 2
XRefProbeCountReplacementCharsนับจำนวนอักขระแทนที่ Unicode ในผลการวินิจฉัยสตริงที่โหลดไว้
XRefProbeObjStringValส่งคืนค่าสตริงจากพจนานุกรมวัตถุวินิจฉัยที่โหลดไว้
XRefProbeDecryptObjStmSkipsรายงานการข้ามการถอดรหัสสมาชิกสตรีมวัตถุที่ใช้เพื่อหลีกเลี่ยงการถอดรหัสซ้ำซ้อน
TryParseModernPDFพยายามใช้เส้นทางการวิเคราะห์โครงสร้าง PDF แบบใหม่สำหรับเอกสาร xref-stream และ object-stream
CreateBasicPageContentสร้างวัตถุเนื้อหาหน้าขั้นต่ำสำหรับหน้าเว็บที่โหลดหรือสังเคราะห์ขึ้น
CreatePDF16PageReferenceสร้างการอ้างอิงหน้า PDF 1.6 โดยใช้กราฟวัตถุที่โหลดไว้
CreateBasicResourcesสร้างพจนานุกรมทรัพยากรขั้นต่ำสำหรับการสร้างหน้าขึ้นมาใหม่
CreatePDF16Resourcesสร้างพจนานุกรมทรัพยากร PDF 1.6 สำหรับการสร้างหน้าขึ้นมาใหม่
ParseSimplePageObjectวิเคราะห์วัตถุหน้าง่ายๆ ให้เป็นตัวแทนหน้าที่โหลดไว้
ParseRealPageContentวิเคราะห์สตรีมเนื้อหาดั้งเดิมของหน้าสำหรับหน้าที่โหลดไว้
ProcessObjectStreamsForDecompressionประมวลผลสตรีมวัตถุก่อนที่จะตรวจสอบหรือคัดลอกวัตถุที่คลายบีบอัด
ScanAndLoadReferencedObjectsสแกนพจนานุกรมหน้าและทรัพยากร และโหลดวัตถุที่อ้างอิง
ForceLoadMissingReferencedObjectsโหลดข้อมูลอ้างอิงที่ไม่ได้สร้างขึ้นจริงในระหว่างการวิเคราะห์โครงสร้างรอบแรก
FindAllObjectStreamsค้นหาตำแหน่งของสตรีมวัตถุในกราฟเอกสารที่โหลด
ExtractStreamParametersดึงข้อมูลค่าความยาว จำนวน และค่าออฟเซ็ตวัตถุแรกของสตรีมวัตถุ
ProcessFlateDecodeประมวลผลไบต์สตรีมวัตถุที่บีบอัดด้วย FlateDecode
AnalyzePageObjectวิเคราะห์เนื้อหาของวัตถุหน้าและอัปเดตการบันทึกข้อมูลของหน้าที่โหลด
ExtendPageArrเพิ่มวัตถุทางอ้อมของหน้าไปยังอาร์เรย์ของหน้าที่โหลดไว้
ParseSimpleDictionaryวิเคราะห์เนื้อหาพจนานุกรมให้เป็นวัตถุ THPDFDictionaryObject
ParseSimpleArrayวิเคราะห์เนื้อหาอาร์เรย์ให้เป็นวัตถุ THPDFArrayObject
ParseSimpleStreamวิเคราะห์เนื้อหาสตรีมให้เป็นวัตถุ THPDFStreamObject
FindAndProcessObjectStreamค้นหาสตรีมวัตถุตามหมายเลขวัตถุและประมวลผลสมาชิกของมัน
ExtractObjectFromStreamดึงข้อมูลวัตถุพจนานุกรมที่ผ่านการวิเคราะห์จากสมาชิกของสตรีมวัตถุ
ExtractRawObjectFromStreamดึงข้อมูลไบต์ดิบของวัตถุจากสมาชิกของสตรีมวัตถุ
IsObjectInStreamรายงานว่าหมายเลขวัตถุเป็นของสตรีมวัตถุหรือไม่
GetObjectFromStreamส่งคืนสมาชิกสตรีมวัตถุที่วิเคราะห์เป็นวัตถุพจนานุกรม
ParseModernPageObjectวิเคราะห์วัตถุหน้าเว็บที่พบผ่านเส้นทางสตรีมวัตถุ (object-stream) แบบใหม่
IntelligentDecompressพยายามคลายบีบอัดข้อมูลด้วยตรรกะทางเลือกสำรองที่รองรับรูปแบบข้อมูล
DecompressFlateDecodeคลายบีบอัดสตรีมไบต์ของ FlateDecode
ParseObjectStreamวิเคราะห์ส่วนหัวของสตรีมวัตถุและตารางสมาชิก
ReorderPageArrByPagesTreeจัดเรียงหน้าที่โหลดใหม่ตามทรีหน้าเว็บ
GetCorrectPageOrderFromPagesTreeสร้างลำดับหน้าจากทรีหน้าเว็บที่โหลดไว้
GetPageObjectIdส่งคืนหมายเลขวัตถุสำหรับดัชนีหน้าที่โหลดไว้
GetPageArrIndexForObjectNumberส่งคืนดัชนีอาร์เรย์หน้าเว็บที่โหลดสำหรับหมายเลขวัตถุหน้า
ExtractNumericValueดึงข้อมูลค่าจำนวนเต็มหลังจากคีย์ที่ระบุในเนื้อหาวัตถุดิบของวัตถุ
ParseDecompressedObjectsวิเคราะห์สมาชิกสตรีมวัตถุที่คลายบีบอัดแล้ว และส่งคืนหมายเลขวัตถุหลัก
LoadCompressedXrefStreamโหลดข้อมูลสตรีม xref แบบบีบอัดสำหรับการวิเคราะห์โครงสร้างเอกสารแบบใหม่
LoadObjectStreamsDirectlyโหลดสตรีมวัตถุโดยตรงจากเอกสารต้นฉบับปัจจุบัน
ParseXrefStreamDataวิเคราะห์ข้อมูลตารางสตรีม xref ที่ถอดรหัสแล้ว
ProcessObjectStreamObjectsประมวลผลวัตถุในสตรีมวัตถุที่คลายบีบอัดจากหมายเลขวัตถุสตรี

ความสอดคล้องและการแสดงผลแบบอักษร

Method Usage
BuildAndApplyUnicodeFontSubsetสร้างซับเซ็ตของแบบอักษร Unicode ที่ใช้งานอยู่และใช้สตรีมแบบอักษรและข้อมูลการจับคู่ที่ได้
EnsurePDFUATabsOnAnnotatedPagesตรวจสอบให้แน่ใจว่าหน้า PDF/UA ที่มีการอธิบายประกอบประกาศลำดับแท็บที่จำเป็น
EnsurePDFAOutputIntentตรวจสอบว่ามีเป้าหมายเอาต์พุต PDF/A อยู่เมื่อโปรไฟล์ PDF/A ที่เลือกต้องการ
EnsurePDFAColorSpaceConsistencyตรวจสอบการใช้งานพื้นที่สีของอุปกรณ์เทียบกับเป้าหมายเอาต์พุต PDF/A และการตั้งค่าพื้นที่สีเริ่มต้น
EmitDocumentDefaultColorSpacesเขียนการจับคู่พื้นที่สีเริ่มต้นของเอกสารที่ใช้โดยเวิร์กโฟลว์ PDF/A
EnsurePDFXOutputIntentตรวจสอบว่ามีเป้าหมายเอาต์พุต PDF/X อยู่ก่อนที่เอาต์พุตจะเสร็จสมบูรณ์
EnsurePDFXPageBoxesตรวจสอบกล่องหน้า (page boxes) ที่จำเป็นสำหรับโปรไฟล์เอาต์พุต PDF/X
_FindPAdESDSSStreamByDERค้นหาสตรีม DSS ที่มีอยู่ซึ่งมีไบต์ DER ตรงกับใบรับรอง, การตอบกลับ OCSP หรือ CRL ในขณะที่สร้างการอ้างอิง PAdES VRI

ตัวช่วยการปรับรูปร่างขั้นสูง

Method Usage
ApplyArabicGSUBPositionalใช้การแทนที่ตำแหน่งด้วย GSUB สำหรับภาษาอาหรับ และจับคู่รหัสกลิฟที่ปรับรูปร่างแล้วผ่านจุดรหัสสังเคราะห์
ArabicGSUBShapeToGIDsส่งคืนลำดับรหัสกลิฟภาษาอาหรับที่ปรับรูปร่างด้วย GSUB โดยไม่ต้องส่งออกข้อความ
ApplyArabicGSUBNativeShapingใช้การปรับรูปร่างด้วย GSUB แบบดั้งเดิมสำหรับภาษาอาหรับสำหรับแบบอักษรที่มีการแทนที่กลิฟตามตำแหน่ง
ApplyLatinLigatureFeatureใช้ฟีเจอร์อักษรควบภาษาละตินที่มีชื่อ เช่น liga หรือ clig กับช่วงยูนิโค้ด
ApplyLatinSingleSubstitutionFeatureใช้ฟีเจอร์การแทนที่เดี่ยวภาษาละตินที่มีชื่อกับช่วงยูนิโค้ด
ApplyLatinFractionFeatureใช้ฟีเจอร์ frac กับช่วงเศษส่วนตัวเลขเมื่อแบบอักษรมีการแทนที่ที่จำเป็น
ApplyArabicGSUBRefinementใช้การปรับแต่งอักษรควบแบบ GSUB สำหรับภาษาอาหรับหลังจากการปรับรูปร่างภาษาอาหรับพื้นฐาน
_ApplyGSUBLookupAtใช้การค้นหา GSUB ที่ได้รับการแก้ไขหนึ่งรายการที่ตำแหน่งช่วงกลิฟและรายงานช่วงที่อัปเดต
_ApplyGSUBFeatureToRunใช้การค้นหาทั้งหมดสำหรับฟีเจอร์ GSUB หนึ่งฟีเจอร์ตลอดทั้งช่วงกลิฟตามลำดับรายการการค้นหา
_ApplyGSUBFeatureAtRunPositionใช้ฟีเจอร์ GSUB ที่ตำแหน่งช่วงกลิฟหนึ่งตำแหน่งสำหรับการปรับรูปร่างที่ไวต่อตำแหน่ง
_TibetanShapeSpanToGIDsปรับรูปร่างช่วงข้อมูลภาษาทิเบตหนึ่งช่วงเป็นรหัสกลิฟก่อนที่จะแสดงผลจุดรหัสสังเคราะห์
_GSUBResolveIndicScriptเลือกแท็กสคริปต์ OpenType Indic ที่มีอยู่ในแบบอักษร โดยพิจารณาเลือกแท็กสคริปต์เวอร์ชัน v2 ก่อนหากมี
_IndicShapeSyllableToGIDsใช้ลิงก์ฟีเจอร์ GSUB ของอักษรอินเดียกับหนึ่งพยางค์ที่จัดเรียงใหม่และคืนค่ารหัสกลิฟ

ดูเพิ่มเติม

  • THotPDF Methods
  • THotPDF Utility Methods
  • เมธอดรายงาน THotPDF Preflight
  • THotPDF GSUB Lookup Methods
  • คลาสตัวช่วยสาธารณะของ HPDFDoc