我想在一个打印作业中从java(使用java打印服务)打印多个pdf。
我想将多个 pdf 文件作为单个作业发送到打印机。这样,我的“批量”中的所有文档都会一起打印,并且当我从打印机中取出它们时,不会与其他人的打印作业交错。
一个批次可能包含数千个打印作业。
我尝试了 jpedal,但它不支持 java.awt.print.Book
Book book = new Book();
PdfDecoder pdfDecoder = readFileApplyOptions("C:/Temp/singlepagetest.pdf", pageFormat);
book.append(pdfDecoder, pageFormat);
PdfDecoder pdfDecoderTwo = readFileApplyOptions("C:/Temp/printfax-test.pdf",pageFormat);
book.append(pdfDecoderTwo, pageFormat);
printJob.setPageable(book);
printJob.print();
只打印第一个pdf。如何在一个作业中打印多个 pdf 文件?
readFileAndApplyOptions() 基本上创建一个新的 PdfDecoder 对象并返回它。
我也尝试过Sun的PDFRendererPDF渲染器以类似的方式(使用 Book 对象),但我的代码仍然只打印出第一页。
以前有人遇到过类似的问题吗?有我可能缺少的解决方案吗?
不是 Java 特有的,但我在 C# 中有过这方面的经验。我通过将每个文档打印到一个文件(以编程方式相当于在打印对话框上选中“PrintToFile”复选框)解决了这个问题,然后将每个文件连接到一个内存流中,我将其以原始格式传递给 Win32 API 打印机假脱机(因为默认情况下,输出到文件的格式已正确)。
您也许可以在 Java 中使用类似的技术
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)