在PDFClown的StaticNote中更改字体颜色

时间:2016-08-22 13:09:20

标签: java pdf pdfclown

参考Build text callout with PDF Clown - 是否有可能更改标注注释中文本的字体颜色?

我还没有找到合适的方法,有人可以给我一个提示吗?

1 个答案:

答案 0 :(得分:1)

没有明确的PDF Clown方法来设置文本颜色。这可能与PDF注释字典中没有明确的条目有关。

但有两种选择:

  • 通常,注释中的变量文本有一个默认外观( DA )条目。由于PDF Clown不隐藏通用对象方法,您可以扩展原始的标注样本,如下所示:

    fileUploadService.uploadImage

    你必须在那里使用普通的PDF指令, rg 设置由前三个值定义的RGB颜色, Tf 根据前面的设置字体和大小两个值。以上结果是:

    Excerpt from AnnotationSample (with the addition above) output

    如您所见,文字现在为紫色(红色100%,绿色0%,蓝色100%)。但副作用是,标注线和标注框周围的框架也是紫色。

  • 或者,PDF可以带来一个自己的外观流,用于定义相关注释的整个外观。但这意味着你必须自己绘制所有内容,包括线条,框架,背景和文字。

    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")); setAppearance方法设置注释的外观。