THPDFPage Advanced Methods

本頁彙整 THPDFPage 中公開且對 advanced authoring workflows 有用,但尚未有個別 topic pages 的 page-level methods

標註與豐富註解

方法 用途
AddHighlightAnnotation, AddUnderlineAnnotation, AddSquigglyAnnotation, AddStrikeOutAnnotation 在矩形文字範圍上建立文字標註。HotPDF 會發出對應的 PDF 1.7 子類型,並由矩形推導出 /QuadPoints 的值
AddPolylineAnnotation, AddPolygonAnnotation 從 THPDFCurrPoint 頂點陣列建立 PDF 1.7 polyline 或 polygon 審閱註解。帶有 THPDFPolyExtras 的 overload 可另外指定內部色彩、雲狀邊框、intent 與線端細節
HPDFDefaultLineExtras, HPDFDefaultPolyExtras 傳回歸零初始化的 THPDFLineExtras 與 THPDFPolyExtras record,讓呼叫端只設定需要的線條或 polygon 註解選擇性欄位
AddInkAnnotation, AddCaretAnnotation 加入手繪審閱標註或 caret 插入標記。請使用 LastAnnotation 搭配 SetAnnotationBorderStyle 在建立後調整邊框樣式
AddScreenAnnotation, AddWatermarkAnnotation, AddRedactAnnotation 加入多媒體 screen、固定列印浮水印或 redaction 註解。這些方法遵循與對應註解子類型相同的 PDF 版本與符合性閘門
Add3DAnnotation, AddRichMediaAnnotation 加入 PDF 1.7 互動媒體註解。這類註解是給明確支援內嵌 3D 或 rich-media 內容的檢視器流程使用,不適合封存用 PDF/A 輸出
AddPopupAnnotation 直接建立 popup 註解。若 popup 要附加到其他註解,請優先使用 AddPopupAnnotationFor

按鈕動作擴充

方法 說明
AddPushButtonWithHideAction 建立動作會隱藏或顯示一或多個表單欄位的按鈕。表單需要選用區段又不想執行 JavaScript 時,這個方法很好用
AddPushButtonWithSubmitAction 建立提交按鈕,並明確指定 THPDFSubmitFormFlags ,由呼叫端控制 FDF、HTML、XFDF、PDF、GET/POST 等提交選項
AddPushButtonWithRenditionAction 建立控制 Rendition 動作的按鈕,該動作綁定到 Screen 註解與媒體檔案。PDF/A 與 PDF/X 符合性模式會拒絕多媒體動作
AddPushButtonWithSoundAction 建立可播放內嵌 PDF /Sound 的按鈕。overload 可接受檔名,或透過 THPDFSoundParams
AddPushButtonWithMovieAction 建立舊式 Movie 動作按鈕,其參照對象是 AddMovieAnnotation

頁面框與顯示控制

方法或屬性 說明
SetCropBox, SetBleedBox, SetTrimBox, SetArtBox 附加 ISO 32000-1 §14.11.2 定義的選擇性成品頁面框。 MediaBox 仍會記錄實體紙張大小;未設定的框會依標準 PDF 預設鏈回退
SetPageRotation 設定頁面的 /Rotate 項目。值會正規化為 PDF 要求的 90 度倍數,範圍是 0..359
SetUserUnit 設定 PDF 1.6 /UserUnit ,用於超大頁面。傳入 0 會移除該項目,讓頁面回到預設單位縮放
SetTabsOrder 透過 /Tabs 項目設定頁面註解 tab 順序。可用值為 R, C, S, A 或 W ,依 PDF 規格定義
DocScale 調整相容性繪圖路徑使用的頁面繪製縮放。除非呼叫端刻意需要縮放過的舊座標,否則請保持預設值

透明度與選擇性內容

方法 說明
SetTransparencyGroup, SetTransparencyGroupICC, ClearTransparencyGroup 附加或移除頁面的 /Group 字典,讓帶 alpha 的內容以 PDF transparency group 合成。ICC 變體會參照文件上已註冊的 ICC profile
BeginOptionalContent, EndOptionalContent 把後續的頁面繪製包進 PDF 1.5 選擇性內容 marked-content 序列。請先用 THotPDF.RegisterOptionalContentGroup

標記內容與 Type 3 字型

方法 說明
BeginMarkedContentMCIDProps 開始 marked-content 序列,並附上內含 /MCID 以及選擇性 /Lang, /Alt, /ActualText 和 /E 等項目的 inline property 字典。請以 EndMarkedContent 結束序列
SetType3Font 選擇透過 THotPDF.RegisterType3Font 註冊的 Type 3 字型,讓後續的 ShowText 呼叫以呼叫端定義的 glyph 串流發出文字

文字定位與相容性輔助方法

方法 說明
SetCharacterSpacing, SetTextMatrix, MoveToNextLine 為需要更直接控制、超出 TextOut, UnicodeTextOut 或文字框 helper 的呼叫端,發出低階 PDF 文字狀態與定位運算子
SetRGBHyperlinkColor 設定 PrintHyperlink 所使用的 RGB 色彩。已發布的 HyperlinkColor 屬性會呼叫這個 setter
FMEllipse, MFRectangle 為相容舊呼叫端程式碼而保留的舊式繪圖別名。新程式碼請優先使用 Ellipse 與 Rectangle
DirectDrawBarcode 以直接頁面座標與數值條碼類型繪製條碼。型別安全的寫法請優先使用 DrawBarcode 搭配 THPDFBarcodeType enumeration
TextOutStr, OutText, RtLTextOutStr, SetFontAndSize, ShowMetafileEx 為既有程式碼保留的相容別名或 C++Builder 專用進入點。新程式碼通常可改用 TextOut, RtLTextOut, SetFont 和 ShowMetafile
Debug_GetProcessedRtlString, ProcessFont 類別公開的診斷與低階輔助方法。列出這些 API 是為了完整性;一般文件產生請使用較高階的文字與字型方法

數位簽章欄位輔助方法

AttachPAdESSeedValue - 將 PAdES seed-value dictionary 附加到既有 signature field,讓 viewer 可在 signing 前提示 digest、subfilter、reason、location、contact、timestamp 與 certificate constraints。請先使用 AddPAdESSignatureField 或其他 signature-field helper 建立 field,再以 field name 與 THPDFPAdESSeedValue settings 呼叫 AttachPAdESSeedValue

請參閱