SetMarkInfo
文件屬性、無障礙
描述
在目錄中設定文件的 /MarkInfo 字典。Marked 為 1 時,目錄會加入 /MarkInfo << /Marked true /Suspects false >> 項目,宣告這是標籤式 PDF;Marked 為 0 時,/MarkInfo 項目會被移除。
SetPDFUAMode 與 SetPDFAMode 在 a 符合性層級(PDF/A-1a、PDF/A-2a、PDF/A-3a)時會自動呼叫此函式。只有在需要標籤式 PDF 狀態、又不想做完整 PDF/UA-1 或 PDF/A-A 設定時,才直接呼叫。
語法
Delphi
Function TPDFlib.SetMarkInfo(Marked: Integer): Integer;
ActiveX
Function PDFlib::SetMarkInfo(Marked As Long) As Long
DLL
int DLSetMarkInfo(int InstanceID, int Marked);
參數
| Marked | 1 宣告文件為標籤式(寫入 /Marked true 與 /Suspects false);0 移除 /MarkInfo 項目。 |
|---|
傳回值
| 1 | /MarkInfo 項目更新成功。 |
|---|
備註
ISO 14289-1(PDF/UA-1)§7.18.6 要求 /Marked 為 true 時,/Suspects 必須存在且設為 false。程式庫一律在寫入 /Marked true 的同時寫入 /Suspects false,因此單次呼叫 SetMarkInfo(1) 就能同時滿足兩項要求。
設定 /Marked true 只是宣告 — 它本身並不會填入文件的結構樹。呼叫 SetMarkInfo(1) 之後,請以 BeginTag/EndTag 配對建立結構樹,並以 BeginArtifact/EndArtifact 標示裝飾性內容。儲存前可用 GetPDFUADiagnostics 找出常見缺口。
已載入文件上 /MarkInfo 的先前狀態可用 IsTaggedPDF 查詢。
範例
// Convert a non-tagged loaded document into a tagged one, then add structure
PDF.LoadFromFile('source.pdf', '');
if PDF.IsTaggedPDF = 0 then
begin
PDF.SetMarkInfo(1);
// Re-open page 1 for editing
PDF.SelectPage(1);
PDF.BeginPageUpdate;
PDF.BeginTag('H1', '', '');
PDF.PrintText(50, 750, 'Document Title');
PDF.EndTag;
PDF.EndPageUpdate;
end;
PDF.SaveToFile('tagged.pdf');另見
IsTaggedPDF, SetPDFUAMode, SetPDFAMode, BeginTag, GetPDFUADiagnostics