THotPDF.SetLoadedFreeTextText Method
以內嵌 Unicode 字型、選用的富文字與原子圖形交易,取代已載入 FreeText 註解的正常外觀
宣告
procedure SetLoadedFreeTextText(PageIndex, AnnotationIndex: Integer;
const AText: UnicodeString; const Options: THPDFLoadedTextAppearanceOptions;
const RichContent: AnsiString = ''; const DefaultStyle: AnsiString = '');
選項
修改個別欄位之前,先用 THPDFLoadedTextAppearanceOptions.Default 初始化記錄
| 欄位 | 行為 |
|---|---|
| FontName, FontStyle, FontSize | 主要字型、樣式與點數大小;預設為 Arial、標準樣式與 12 點 |
| TextColor, Alignment, Padding | 純文字色彩、左/中/右對齊與點數內距;預設為黑色、靠左與 2 點 |
| Opacity, Rotation | 不透明度範圍 [0,1],旋轉以 90 度的倍數為單位 |
| OverflowPolicy | THPDFLoadedTextOverflowPolicy:ltopReject 拒絕溢位,ltopClip 裁切溢位,ltopShrinkToFit 以更小的字型重試 |
| MinFontSize | 縮小的下限,預設 4 點 |
| MaxTextUnits | 輸入與純文字預算,預設 1,048,576 個 UTF-16 單元;富文字輸入上限為此預算的四倍 |
行為
AText 提供純 Unicode 文字;非空的 UTF-8 RichContent 改用 HTML 匯入器與選用的 CSS DefaultStyle,再從產生的文字推導 /Contents
產生的外觀會把內嵌字型與 ToUnicode 映射複製進已載入的文件,因此儲存、壓平與文字擷取都能保留其 Unicode 文字
此方法會沿用已設定的字型後援鏈、ShapingFeatures、阿拉伯文、敘利亞文、N'Ko、Adlam 與 Hanifi Rohingya 的自動整形開關,以及 GSUB 字稿與語言選擇;每次縮小至符合的重試都使用相同設定,不會更動呼叫端的組態
支援的背景、實線/虛線邊框、矩形內縮與兩點/三點標註線幾何都會保留,並同步 /AP、/Contents、/RC、/DS、/CA、/Q 與旋轉中繼資料
非法幾何、未解析的純文字字形、雲狀邊框、資源限制與被拒絕的溢位都會拋出例外並回滾整個更新;既有的外層圖形交易保持作用中
富文字遵循支援的 HTML/CSS 子集;外部資源已停用,固定的 CSS 字型大小可能讓縮小至符合無法縮小個別文字段
每個外觀寫入器最多接受 256 個不同的整形字型選擇與 64 MiB 累計原始字型資料;超過任一限制都會拒絕更新,並保留原始註解
相關 API
- SetLoadedFreeTextRichText 以裁切溢位使用這條外觀管線
- SetLoadedFreeTextPlainText 維持原本的 ASCII 合約
- SetLoadedAnnotationContents 只編輯儲存的內容