THotPDF.SetLoadedFreeTextText Method

用嵌入的 Unicode 字体、可选富文本和原子的 graph transaction,替换已加载 FreeText 注释的正常外观

声明

procedure SetLoadedFreeTextText(PageIndex, AnnotationIndex: Integer;
  const AText: UnicodeString; const Options: THPDFLoadedTextAppearanceOptions;
  const RichContent: AnsiString = ''; const DefaultStyle: AnsiString = '');

选项

修改个别字段之前,先用 THPDFLoadedTextAppearanceOptions.Default 初始化记录

字段行为
FontName, FontStyle, FontSize主字体、样式和点数大小;默认为 Arial、regular 和 12 点
TextColor, Alignment, Padding纯文本颜色、左/中/右对齐和以点为单位的内边距;默认为黑色、左对齐和 2 点
Opacity, Rotation不透明度取值 [0,1],旋转为 90 度的整数倍
OverflowPolicyTHPDFLoadedTextOverflowPolicy:ltopReject 拒绝溢出,ltopClip 裁剪溢出,ltopShrinkToFit 用更小的字体重试
MinFontSize缩小的下限,默认 4 点
MaxTextUnits输入与纯文本预算,默认 1,048,576 个 UTF-16 单元;富文本输入上限为该预算的四倍

行为

AText 提供纯 Unicode 文本;非空的 UTF-8 RichContent 则改走 HTML 导入器和可选的 CSS DefaultStyle,然后从生成的文本推导 /Contents

生成的外观会把嵌入字体和 ToUnicode 映射复制进已加载的文档,因此保存、扁平化和文本提取都能保留其 Unicode 文本

方法继承已配置的字体 fallback 链、ShapingFeatures、Arabic、Syriac、N'Ko、Adlam 和 Hanifi Rohingya 的 auto-shaping 开关,以及 GSUB script 与语言选择;每次 shrink-to-fit 重试都使用相同设置,不会改动调用方的配置

保留受支持的背景、实线/虚线边框、矩形内缩和两点/三点 callout 几何,并同步 /AP、/Contents、/RC、/DS、/CA、/Q 和旋转元数据

几何非法、纯文本字形未解析、cloudy 边框、资源超限和被拒绝的溢出都会抛出异常并回滚整个更新;已存在的外层 graph transaction 保持活动

富文本遵循受支持的 HTML/CSS 子集;外部资源被禁用,固定的 CSS 字号可能导致 shrink-to-fit 无法缩小个别 run

每个外观写入器最多接受 256 个不同的 shaping 字体选择和累计 64 MiB 的原始字体数据;任一限制超出都会拒绝更新并保留原注释

相关 API