2013-04-09 18 views
0

我是Java编程的初学者,在这里也是在stackoverflow。目前我正尝试使用com.sun.pdfview库打印PDF文件。它经常工作,但也有一些文件,我收到以下错误:使用Sun PDFRenderer进行Java打印编码

java.lang.IllegalArgumentException: Unknown encoding: SymbolSetEncoding 
    at com.sun.pdfview.font.PDFFontEncoding.getBaseEncoding(PDFFontEncoding.java:199) 
    at com.sun.pdfview.font.PDFFontEncoding.<init>(PDFFontEncoding.java:78) 
    at com.sun.pdfview.font.PDFFont.getFont(PDFFont.java:133) 
    at com.sun.pdfview.PDFParser.getFontFrom(PDFParser.java:1166) 
    at com.sun.pdfview.PDFParser.iterate(PDFParser.java:719) 
    at com.sun.pdfview.BaseWatchable.run(BaseWatchable.java:101) 
    at java.lang.Thread.run(Thread.java:722) 

我要告诉你,这些文件都写在一个白人语言(格鲁吉亚),典型的字体是Sylfaen。

错误发生在下面的代码:

   PDFRenderer pgs = new PDFRenderer(page, g2, imgbounds, null,null); 
      try { 
       page.waitForFinish(); 
       pgs.run(); 

我相信,这些文件需要使用不同的编码或我需要指定的字体,可惜我找不到了脚踝,我可以拿外观或更改设置。

谢谢

马丁

回答

0

PDFRenderer仅支持PDF规范的一个有限的子集。