SetPDFUAModeA

文件屬性、無障礙

描述

結尾的 A 表示 ANSI(char)DLL 進入點;ActiveX/COM 介面只提供 Unicode 形式。行為與 SetPDFUAMode 完全相同,字串參數依目前 SetAnsiMode 的字碼頁解讀

為所選文件啟用 PDF/UA-1(ISO 14289-1:2014)符合模式。這單一呼叫會完成標準要求的全部文件層級設定:文件版本至少升到 PDF 1.7、寫入 MarkInfo.Marked 與 MarkInfo.Suspects、在 ViewerPreferences 啟用 DisplayDocTitle、有提供語言時設定 Catalog/Lang,並寫入 pdfuaid:part=1 XMP 命名空間項目。文件在 SetPDFUAMode 啟用後加密時,無論呼叫端給的 TPDFExtraPermissions 遮罩為何,CanCopyAccess(加密 /P 金鑰的位元 10)都會自動強制開啟,以滿足 ISO 14289-1 §7.16。文件在呼叫 SetPDFUAMode 之前就已加密時,既有加密字典維持不變 — 請在 SetPDFUAMode 之後再呼叫一次 Encrypt 以更新 /P 值。GetPDFUADiagnostics 會以 ENCRYPT-NO-ACCESS 回報這種情況。

加入任何內容之前先呼叫。用 BeginTag/EndTag 與 BeginArtifact/EndArtifact 為文件內容加標籤。

語法

Delphi

Function DLSetPDFUAModeA(InstanceID: Integer; Language: PAnsiChar): Integer;

DLL

int DLSetPDFUAModeA(int InstanceID, const char * Language);

參數

Language文件預設語言的 BCP 47 語言標籤,例如 "en-US"、"de"。傳入空字串表示不寫目錄的 /Lang 項目。

傳回值

0失敗(沒有開啟的文件)
1PDF/UA mode activated successfully

備註

PDF/UA 模式作用中時,儲存當下所有開啟的頁面會自動補上 /Tabs /S 項目(以結構為基礎的定位順序),滿足 ISO 14289-1 §7.18.3。儲存時的修正還包括:自動補齊遺漏的 widget 工具提示(/TU) 與註解 /Contents、為內嵌檔案附加 /AFRelationship、移除 TrapNet 註解(ISO 14289-1 §7.18.2 禁止),並為缺少明確 ListNumbering 屬性的 L 結構元素附上 /O = List /ListNumbering = None(ISO 14289-1 §7.6)

另請參閱:SetDocumentLanguage、SetMarkInfo、SetPDFAMode。