java - 在 PDFClown 的 StaticNote 中更改字体颜色

标签 java pdf pdfclown

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

    Excerpt from AnnotationSample (with the addition above) output

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

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

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

关于java - 在 PDFClown 的 StaticNote 中更改字体颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39080460/

相关文章:

javascript - 单击另一个旨在显示/隐藏图层的按钮时,在 Adob​​e PDF 中隐藏/显示按钮的代码是什么?

c# - PDF 格式的希伯来语文本

ipad - 如何在 iPad 上全屏显示 PDF?

调试PDF错误

Java:从 ArrayList 中删除元素并添加文本

java - 仅在用户登录时显示 portlet

Java:如果值使用流匹配,则组合两个映射键

java - Tomcat 堆空间已满

java - 如何使用PDFClown将图片添加到pdf文件