PDFBOX:U 000A('controlLF')在此字体中不可用 Helvetica 编码:WinAnsiEncoding

新手上路,请多包涵

尝试使用 Java 和 org.apache.pdfbox 库打印 PDF 页面时,出现此错误:

PDFBOX:U+000A(’controlLF’)在此字体中不可用 Helvetica 编码:WinAnsiEncoding

原文由 ibercode 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 3.9k
2 个回答

[问题] 您尝试显示的字符串包含换行符。

[解决方案] 用新字符串替换字符串并删除换行符:

 text = text.replace("\n", "").replace("\r", "");

原文由 ibercode 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果您知道是 \n 或 \r 字符导致了您的问题,那么为这篇文章选择的答案是有效的,它会从您的字符串中替换所有 \n 和 \r 实例。我发现有很多不同的字符会产生此错误。以下是我发现的示例:

 U+2010 ('hyphentwo') is not available in this font Helvetica encoding: WinAnsiEncoding
U+2033 ('second') is not available in this font Helvetica encoding: WinAnsiEncoding
U+00A0 ('nbspace') is not available in this font Helvetica encoding: WinAnsiEncoding
U+FFFD ('.notdef') is not available in this font Helvetica encoding: WinAnsiEncoding
U+03BC ('mugreek') is not available in this font Helvetica encoding: WinAnsiEncoding
U+039C ('Mu') is not available in this font Helvetica encoding: WinAnsiEncoding
U+2212 ('minus') is not available in this font Helvetica encoding: WinAnsiEncoding
U+0141 ('Lslash') is not available in this font Helvetica encoding: WinAnsiEncoding
U+2103 ('centigrade') is not available in this font Helvetica encoding: WinAnsiEncoding
U+25AA ('H18543') is not available in this font Helvetica encoding: WinAnsiEncoding

就我而言,我只是选择删除未包含在我的字体中的任何特殊字符。我使用了此页面中的解决方案:

https://cmsdk.com/java/remove-illegal-characters-from-string-with-pdfbox.html

原文由 Stephen 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏