【发布时间】:2015-07-13 17:52:42
【问题描述】:
我有一个要在 pdf 上绘制的文本,例如 500 €/hour。我正在使用PdfBox-Android 库。
我试图将上面的字符串写成如下,
pageContentStream.drawString("500 " + Html.fromHtml(getString(R.string.euro)).toString() + "/hour");
其中euro 在strings.xml 中定义为
<string name="euro">(€)</string>
<string name="pound">(£)</string>
上面的代码PdfBox-Android正在写一些乱码。
我找到了一个解决方案 here 使用 pdfbox 编写 €,它运行良好。
我的问题是怎么写€旁边的文字登录一下..?
我需要先写€,然后将文本移到它旁边,然后再写剩余的文本吗?我觉得这不是correct 解决方案。
【问题讨论】:
-
如您所指的答案中所述,PDFBox 的字符串编码远非完美(1.8.x 版)。这实际上是一种很好的表达方式它坏了。如果您使用 PDFBox 1.8.*(或更早版本),Unicode 代码超过 255 的字符只能使用自定义方法显示,而不是 PDFBox' @ 987654333@.