参考使用 PDF Clown 构建文本标注- 是否可以更改标注注释中文本的字体颜色?
我还没有找到合适的方法,有人可以给我提示吗?
没有明确的 PDF Clown 方法来设置文本颜色。这可能与 PDF 注释字典中也没有明确的条目有关。
不过有两种选择:
注释中的变量文本通常有一个默认外观 ( DA ) 条目。由于 PDF Clown 不隐藏通用对象方法,您可以像这样扩展原始标注示例:
// Callout.
composer.showText("Callout note annotation:", new Point(35, 85));
new StaticNote(
page,
new Rectangle(250, 90, 150, 70),
"Text of the Callout note annotation"
).withLine(
new StaticNote.CalloutLine(
page,
new Point(250,125),
new Point(150,125),
new Point(100,100)
)
)
.withLineEndStyle(LineEndStyleEnum.OpenArrow)
.withBorder(new Border(1))
.withColor(DeviceRGBColor.get(Color.YELLOW))
.getBaseDataObject().put(PdfName.DA, new PdfString("1 0 1 rg /Ti 12 Tf"));
但是,您必须在此处使用纯 PDF 指令,rg设置由前三个值定义的 RGB 颜色,而Tf根据前两个值设置字体和大小。上面的结果是:
如您所见,文本现在是紫色(红色 100%,绿色 0%,蓝色 100%)。但是,副作用是标注线和标注框周围的框架也是紫色的。
或者,PDF 可以带来自己的外观流,定义相关注释的整体外观。但是,这意味着您必须自己绘制所有内容,包括线条、框架、背景和文本。
PDF Clown 允许您使用setAppearance
和withAppearance
方法设置注释的外观。