引用Build text callout with 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
方法设置注释的外观。
关于java - 在 PDFClown 的 StaticNote 中更改字体颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39080460/