使用PDFBox将unicode字符串写入PDF

ksl*_*ksl 4 java pdf unicode pdfbox

我想使用Apache PDFBox 1.8.8创建一个包含unicode字符的PDF,但我对支持什么和不支持什么感到困惑.

这里发布的答案表明这是一个已修复在主干上的错误.

这里发布的另一个答案表明我必须自己做翻译.

此处发布的另一个(较旧的)答案涉及嵌入字体.

请有人澄清一下.此外,如果它是一个现在修复的错误,有人可以告诉我PDFBox的下一个版本可能是什么时候.

谢谢.

mkl*_*mkl 5

基本上你链接的所有答案都是正确的.您必须记住它们分别引用的PDFBox版本.

关于这个答案:

在2.0.0之前的版本(直到当前的1.8.8)中,文本绘制操作非常有限,甚至不支持完整的WinAnsi编码,这些版本生成的字体对象用作编码.

关于这个答案:

目前的2.0.0-SNAPSHOT开发状态有了很大改进.这意味着文本绘制操作的限制已被删除,它们正确编码文本,并且使用的字体被正确编码和嵌入.在这些改进的早期实施中的错误同时大部分是固定的.

关于这个答案:

这个答案指出了一个需要记住的东西,无论使用哪个PDFBox版本:特定字体不一定支持整个Unicode范围的代码点.如果您使用的字体不包含字符的字形定义,则可以根据需要进行编码,从而无法正确绘制字符.这尤其涉及每个PDF查看器必须支持的标准14种字体:它们只需要支持少数拉丁文编码的字符,而不是完整的Unicode集.