Java打印编码与Sun PDFRenderer



我是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规范的有限子集。

最新更新