2

参考使用 PDF Clown 构建文本标注- 是否可以更改标注注释中文本的字体颜色?

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

4

1 回答 1

1

没有明确的 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根据前两个值设置字体和大小。上面的结果是:

    AnnotationSample 的摘录(加上上面的内容)输出

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

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

    PDF Clown 允许您使用setAppearancewithAppearance方法设置注释的外观。

于 2016-08-29T15:18:19.757 回答