【问题标题】:Create a bullet list item using PDFBox使用 PDFBox 创建项目符号列表项
【发布时间】:2015-08-24 10:10:29
【问题描述】:

我正在使用 PDFBox 2.0 进行 HTML 到 PDF 的转换。这进展顺利,除了我坚持将列表项标签转换为子弹(黑色、圆形、圆盘)。

官方的 Unicode 项目符号字符是 U+2022,但是 PDFBox 中的字体都不支持 8 位以上的字符。我尝试在 Windows 字体文件夹“C:\Windows\Fonts”中嵌入和使用一些字体,但它们似乎也不支持超过 8 位。

PDFBox 有一个名为 PDListAttributeObject 的类,它似乎与列表和项目符号有关,但我找不到任何如何使用它的示例。

所以,我的问题是:

  1. 能否使用 PDFBox 中的 PDListAttributeObject 将项目符号字符写入内容流?如果有,怎么做?
  2. 是否有任何可以呈现项目符号字符的标准 Windows 字体?
  3. 关于如何将项目符号字符写入 PDF 的任何其他建议?

【问题讨论】:

  • 不适用于 1.8,您需要 2.0,请参阅 stackoverflow.com/questions/25525213/…
  • 我使用的是 2.0.抱歉,忘记提了..
  • 那么请编辑您的问题,说明您使用的是 2.0。您看过 EmbeddedFonts.java 示例吗? svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/…
  • 我现在已经尝试了 EmbeddedFonts.java 示例。我可以使用该特定字体获取项目符号字符。这将很好地满足我的目的:-)
  • 澄清一下,我可以只使用 LiberationSans-Regular.ttf 字体来渲染子弹吗?

标签: pdf pdf-generation pdfbox


【解决方案1】:

在这种情况下,解决方案是使用 PDFBox 2.0 (LiberationSans-Regular.ttf) 中包含的字体。

作为后续,我现在将尝试检查哪些标准 Windows 字体可以呈现项目符号字符。也许通过遍历 Windows/Fonts 文件夹中的字体并使用 PDType0Font.hasGlyph() 方法进行检查。

谢谢Tilman :-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-09
    • 1970-01-01
    • 2015-05-17
    • 2022-07-27
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    相关资源
    最近更新 更多