2015-09-01 42 views
0

我使用PDFBox 1.8.10加载PDF并在每个页面上叠加图像。PDFBox PDFImageWrite.writeImage没有正确处理所有字符

PDDocument doc = PDDocument.load(url); 
PDFImageWriter imageWriter = new PDFImageWriter(); 
imageWriter.writeImage(doc, imageFormat, password, 1, 
     doc.getNumberOfPages(), filePrefix, imageType, resolution); 

我试图保存doc为PDF,这看起来不错。当图像被保存时,它们可能包含不正确的文本。这是东欧文件更是如此 - 如匈牙利,波兰,捷克等

的PDF显示

H-4432 NYÍREGYHÁZA-NYÍRSZŐLŐS 

图像显示 enter image description here

是否有一个解决方案?我需要定义一个代码页吗?这可能是可用字体的问题吗?

+2

请参阅:http://stackoverflow.com/questions/22260344/pdfbox-encode-symbol-currency-euro –

+2

在1.x版本中,将PDF转换为图像的PDFBox功能相当有限。它在2.0.0-SNAPSHOT开发版本中有很大的改进,参见参考资料。 [这个答案](http://stackoverflow.com/a/24238070/1729265),[这个答案](http://stackoverflow.com/a/22358240/1729265)和[this one](http:// stackoverflow.com/a/21547909/1729265)。不幸的是,PDFBox 2.0.0-SNAPSHOT API是一个移动目标,每隔一个月就会大量重构,所以这些答案中的代码可能不再适用。 – mkl

回答

0

我的解决方案是切换到2.0 SNAPSHOT(Aug15)。我测试过的所有文件都很好看。 API已经改变,但在我的情况下,需要5分钟才能完成更改。

感谢@mkl的信息。