我是Java编程的初学者,也是在stackoverflow。目前,我正试图用com.sun.pdfview库打印pdf文件。它经常工作,但对于一些文档,我得到以下错误:
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();
我认为这些文档需要使用不同的编码,或者我需要指定字体,不幸的是我找不到一个脚踝,我可以看看或更改设置。
谢谢马丁
PDFRenderer仅支持PDF规范的有限子集。