gpt4 book ai didi

java - 从 Java 打印多个 PDF 作为单个打印作业(物理打印)

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:59:23 25 4
gpt4 key购买 nike

我想在单个打印作业中从 java(使用 java 打印服务)打印多个 pdf。

我想将多个 pdf 作为单个作业发送到打印机。这是为了让我的“批处理”中的所有文档一起打印,并且在我从打印机上取走它们时不会与其他人的打印作业交错。

一个批处理可能包含 1000 个打印作业。

我试过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 的 PDFRenderer PDFRenderer以类似的方式(使用 Book 对象),但我的代码仍然只打印出第一页。

有没有人遇到过类似的问题?有没有我可能遗漏的解决方案?

最佳答案

不是特定于 Java 的,但我在 C# 中有过这方面的经验。我通过将每个文档打印到一个文件来解决它(在编程上等同于选中打印对话框上的“PrintToFile”复选框),然后将每个文件连接到一个内存流中,我以原始格式将其传递给 Win32 API 打印机假脱机(因为默认情况下,输出到文件的格式已经正确)。

您也许可以在 Java 中使用类似的技术

关于java - 从 Java 打印多个 PDF 作为单个打印作业(物理打印),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/774361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com