PDFium Delphi Component Docs

GenerateTaggedLayout 方法

元件: TPdf  ·  單元: PDFium, FPdfLayout

語法

function GenerateTaggedLayout(Layout: TPdfLayoutDocument; out Plan: TPdfLayoutPlan; const Language: string = 'en-US'): Boolean;

說明

測量並產生新的版面文件,將連續的 MCID 指派給語義頁面物件,將裝飾性內容標記為 Artifact,建立結構階層,並將完成的 Tagged PDF 重新載入同一個 TPdf

目的地必須為非作用中或包含零頁,讓每個非 Artifact 物件都被產生的語義計畫涵蓋

此方法會先載入 PDFium,再檢查標記內容功能,因此新 TPdf 執行個體可直接將其作為第一個原生操作,不需先呼叫 CreateDocument

語意模型

AddText 預設為 plsrParagraph,而頁首、頁尾、線條、影像、頁面 XObject 與快取節點預設為 plsrArtifact

呼叫 SetLastItemSemantics 可指派標題、區段、章節、圖形、圖說、清單角色、表格角色、替代文字、實際文字、語言、ID、表格範圍、跨距或標題 ID

非視覺的清單與表格容器請使用 AddSemanticNode,再透過 ElementID 與 ParentID 串連子節點

Tagged 連結

AddLink 會加入測量過的 URI 文字與 Link 註解

產生的註解在必要時會轉換為間接物件,取得 StructParent 鍵值,並透過 OBJR 與 ParentTree 條目關聯到所屬的 Link 結構元素

驗證

測量階段會拒絕重複的 ID、未解析的父項、循環、無效的清單或表格包含關係、缺少替代或實際文字的圖形、無效的跨距與範圍,以及未解析的表格標題 ID

產生階段會拒絕加密的輸出、既有的結構樹、不匹配的頁面或物件計數、重複的 MCID、不完整的註解對應,以及超出所設定物件預算的情況

結果

Plan 除了常規版面計量之外,還包含語義元素、父項索引、MCID、連結註解索引、標籤內容計數與 Artifact 計數

完成的文件帶有 Document 結構元素、ParentTree、存在 ID 時的 IDTree、MarkInfo、文件語言、頁面 StructParents,以及含註解頁面的結構式定位順序

進階表格

TPdfLayoutTableCell.AddTextRun 將混合文字樣式保留為可擷取的原生文字;SetImage 在原始表格儲存格下產生帶替代文字的 Figure

使用 AllowRowSpanContinuation=True 時,單一 TH 或 TD 透過各頁 MCR 項目涵蓋所有實體頁面片段,保留 RowSpan、ColumnSpan 與表頭關係

小計列仍是本文列,續頁標籤標記為 Artifact;限制與預算請參閱 FPdfLayout

另請參閱

GenerateLayout, ValidatePdfUa, ReadableContent