PDF 2.0 一致性支援
HotPDF 可透過 TPDFVersType 中僅附加的 pdf20 值寫入並重新載入 PDF 2.0 文件
PDF/A-4 設定檔
PDFACompliance | 設定檔 | 產生的識別 |
|---|---|---|
'4' | PDF/A-4 基礎 | part=4、rev=2020,無一致性欄位 |
'4E' | PDF/A-4e 工程 | part=4、rev=2020、conformance=E |
'4F' | PDF/A-4f 關聯檔案 | part=4、rev=2020、conformance=F |
這三個設定檔都會強制使用 PDF 2.0 標頭、要求一般的 PDF/A 輸出意图與中繼資料檢查,並禁止加密
AddPDFAssociatedFile 接受 PDF/A-3、PDF/A-4e 與 PDF/A-4f 下的關聯檔案,而 AddPDFA3AssociatedFile 則為了來源相容性而保留
PDF/A-4e 為工程文件啟用既有的 3D 與 RichMedia 註解路徑
PDF/UA-2 工作流程
PDF.PDFUACompliance := True;
PDF.PDFUAPart := 2;
PDF.Lang := 'en-US';
PDF.BeginDoc;
Root := PDF.AddStructureElement('Document', nil);
PDF.AddStructureElementNS('WidgetGroup',
'https://example.com/ns/widgets', Root);
PDF.EndDoc;
Part 2 會強制使用 PDF 2.0,並發出 pdfuaid:part=2 加上 pdfuaid:rev=2024
RegisterStructureNamespace 會建立或重用間接的 /Type /Namespace 字典,並將其列於 StructTreeRoot /Namespaces
AddStructureElementNS 會透過結構元素的 /NS 項目附加已登錄的字典,並允許該命名空間中的自訂角色
EndDoc 時的驗證
- 結構根必須包含恰好一個最上層
Document元素 - 每個命名空間字典都必須是間接的、型別為
Namespace,並帶有唯一的非空白 URI - 每個結構元素
/NS參照都必須解析為根/Namespaces陣列所列出的字典 - 無命名空間的角色必須是 PDF 2.0 標準角色,或透過
RoleMap解析
PDF 2.0 結構角色
型別列舉新增 DocumentFragment、Aside、Title、FENote、Sub、Em、Strong 與 Artifact
字串多載另外接受開放式的 Hn 形式,包含 H7 及更高