我正在使用 Java 打印服务打印 PNG 文件,但是它正在向打印机发送错误的输出。实际打印的内容(当我使用 PNG 时)是一些文字:
ERROR: /syntaxerror in --%ztokenexec_continue--
Operand stack:
--nostringval-
似乎还有一些文本,但这有点丢失了页边距。我将 DocFlavor 设置为DocFlavor.INPUT_STREAM.PNG
,指定的文件实际上是一个InputStream
(只需将 DoccFlavor 更改为DocFlavor.INPUT_STREAM.PDF
并使用 pdf 文件即可)。
我也尝试过使用不同的 PNG 文件,但问题仍然存在。就其价值而言,即使是 PostScript 似乎也能正常工作。
正在打印的错误看起来与gd
(或 ImageMagick?)错误非常相似。所以,我现在最好的假设是从 PNG -> PS 的转换失败。
代码如下:
PrintService printService = this.getPrintService("My printer name");
final Doc doc = new SimpleDoc(document, DocFlavor.INPUT_STREAM.PNG, null);
final DocPrintJob printJob = printService.createPrintJob();
在这里,getPrintService
获取打印服务并获取有效服务。至于document
,这是我得到它的方式:
File pngFile = new File("/home/rprabhu/temp/myprintfile.png");
FileInputStream document = new FileInputStream(pngFile);
我不知道为什么会出错,而且我也没有看到任何错误输出到控制台。
任何帮助是极大的赞赏。谢谢。