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 |
3つすべてのプロファイルは 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 での検証
- 構造ルートは正確に1つのトップレベル
Document要素を含まなければなりません - すべての名前空間辞書は間接で、
Namespaceとして型付けされ、一意の空でない URI を持たなければなりません - すべての構造要素
/NS参照はルートの/Namespaces配列によってリストされた辞書に解決されなければなりません - 名前空間のないロールは PDF 2.0 標準ロールであるか、
RoleMapを通じて解決されなければなりません
PDF 2.0 構造ロール
型付き enum は DocumentFragment、Aside、Title、FENote、Sub、Em、Strong、Artifact を追加します
文字列オーバーロードはさらに、H7 以上を含むオープンエンドな Hn 形式を受け入れます