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