我是 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();
我相信这些文件需要使用不同的编码或者我需要指定字体,不幸的是我找不到可以查看或更改设置的脚踝。
谢谢
马丁