SaveDOCXToStream
文件轉換、擷取、DOCX、串流
描述
將 PDF 頁面範圍轉成可編輯的 WordprocessingML 文件,並在目前串流位置寫入 DOCX 封裝
語法
Function TPDFlib.SaveDOCXToStream(Const PageRange: WideString;
Options: Integer; Target: TStream): Integer;參數
| PageRange | 以 1 起算的頁面範圍;空字串表示所有頁面;明確指定的頁序會保留 |
|---|---|
| Options | 位元遮罩:PDF_DOCX_INCLUDE_IMAGES = 1 把頁面影像內嵌為浮動 PNG 物件;PDF_DOCX_DETECT_HEADINGS = 2 把較大的短行映射到 Heading 1 至 Heading 3;PDF_DOCX_PRESERVE_STYLES = 4 保留字型名稱、大小、顏色、粗體、斜體、上標與下標;PDF_DOCX_PRESERVE_PAGE_BREAKS = 8 插入可編輯的分頁符;PDF_DOCX_DEFAULT 啟用全部四項 |
| Target | 目的地串流,所有權不會轉移給程式庫 |
傳回值
傳回轉換的頁數;驗證、取消、擷取、封裝或寫入失敗時傳回零
備註
分析使用 SetStructuredTextOptions,與各格式專屬的 Options 分開;讀取來源與後備警告請看 GetLastStructuredTextDiagnostics
內容繫結完整時,真實標籤樹順序優先;未解析或不明確的內容會以 mixed 或 geometric 後備保留萃取文字,未知自訂角色不會從名稱猜測
閱讀順序段落、項目符號與編號清單,以及表格,都成為 Word 原生可編輯內容,而不是頁面快照
空白的標記儲存格、水平跨度與垂直跨度使用 Word 原生表格儲存格、w:gridSpan 與 w:vMerge
合併的表格片段跨頁保留在同一個 w:tbl 內,並省略已辨識的重複接續表頭;分頁選項會在接續的表格中插入可編輯的分頁符
幾何分欄、邊界附屬元素、接續比對與選配的推論合併仍屬啟發式方法;在意保真度時,請檢查最新的診斷與結構化 JSON 來源資訊
文件層級分析會保留所選頁面模型與包含的影像;XML 與套件組裝使用額外緩衝,記憶體因此隨所選內容與影像增長
輸出是確定性的 DOCX ZIP 套件,使用帶 CRC 檢查的原始 Deflate 項目,不需要安裝 Office
擷取會保留所選頁面與開啟中的寫入器標籤堆疊;目前未儲存的寫入器標籤會在不關閉標籤、不結束文件的狀態下納入輸出
LastErrorCode 為 114 表示參數無效,518 表示萃取、封裝或串流失敗
另請參閱
SaveDOCXToFile, ExtractStructuredDocument, ExportDocumentHTML