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);

參數

Marked1 宣告文件為標籤式(寫入 /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