Java PDFBOX文本编码

Java PDFBOX文本编码,java,pdf,unicode,character-encoding,pdfbox,Java,Pdf,Unicode,Character Encoding,Pdfbox,我尝试将一些数据从Java应用程序导出到pdf文件。我决定使用pdfBox库,但我意识到我无法在pdf文件中正确显示希腊字符。有没有办法设置编码?是utf8还是iso-8859-7?我尝试了一些类似PdFontEncoding或Encoding的方法,但没有得到任何结果 谢谢您的时间。您需要做两件事: 设置编码,然后 提供带有希腊字符的字体 大多数PDF阅读器(如Adobe Reader、OS X Preview等)的内置字体只有拉丁1编码,不包括希腊字符。看 我猜这里的问题不是编码,而是字

我尝试将一些数据从Java应用程序导出到pdf文件。我决定使用pdfBox库,但我意识到我无法在pdf文件中正确显示希腊字符。有没有办法设置编码?是utf8还是iso-8859-7?我尝试了一些类似PdFontEncoding或Encoding的方法,但没有得到任何结果


谢谢您的时间。

您需要做两件事:

  • 设置编码,然后
  • 提供带有希腊字符的字体
大多数PDF阅读器(如Adobe Reader、OS X Preview等)的内置字体只有拉丁1编码,不包括希腊字符。看

我猜这里的问题不是编码,而是字体。您需要获得一种带有希腊字符的字体,并将其嵌入PDF文件中。确保您有嵌入字体的许可证


另请参见

谢谢gutch的回答,我下载了带有希腊字母的字体,也从windows字体复制,例如verdana,我尝试使用代码
PDFont font font=PDTrueTypeFont.loadTTF(doc,“verdana.ttf”)
但是结果是一样的,另外,当我打开pdf文件字体verdana包含不好的/宽度时,我会收到错误消息。您还说,在设置编码的第一步中,我如何做到这一点?该错误消息已在PDFBox的1.4.0版中报告为错误(请参阅)-也许1.3.0适合您?至于如何设置编码的问题,我不知道-我发现PDFBox文档在这方面有点欠缺!最后一个版本是1.5,我尝试了1.4 1.3(我使用pdfbox app-{version}.jar文件),但我得到了相同的错误,但主要问题是编码。你能给我推荐另一个我可以使用的pdf库吗。如果我决定使用itext,我必须获得商业许可证吗?因为我最后的申请是向客户销售。再次谢谢你!您可能需要也可能不需要获得iText的商业许可证,我不知道如何告诉您。如果我提出一个答案,我会让自己处于危险之中。。。不幸的是,这个问题最好由律师来回答!