使用 Sun PDFRenderer 进行 Java 打印编码

Posted

技术标签:

【中文标题】使用 Sun PDFRenderer 进行 Java 打印编码【英文标题】:Java Print encoding with Sun PDFRenderer 【发布时间】:2013-04-09 08:08:10 【问题描述】:

我是 Java 编程的初学者,也是 *** 的初学者。目前我正在尝试使用 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();

我认为这些文档需要使用不同的编码或者我需要指定字体,遗憾的是我找不到可以查看或更改设置的脚踝。

谢谢

马丁

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于使用 Sun PDFRenderer 进行 Java 打印编码的主要内容,如果未能解决你的问题,请参考以下文章

PdfRenderer 错误:java.io.IOException:无法创建文档。错误:3

java技术开发 ,将pdf文档转成图片,使用PDFRenderer-0.9.0架包

PdfRenderer 在呈现受密码保护的文件后总是抛出“需要密码”SecurityException

JavaScript基础细讲

如何使用eclipse进行嵌入式Linux的开发

Java名字的由来