我正在为 java web start 应用程序准备一个验收测试工具。该应用程序将 pdf 自动打印到系统安装的打印机上,我想验证生成的 pdf 是否正确。为此,我正在寻找一种模拟打印的方法。
我找到了一种在测试前注册自定义打印服务的方法:
PrintServiceLookup.registerServiceProvider(fakePrinterService);
而且我知道如何在我测试过的应用程序中选择那个假打印机服务。
不幸的是,我发现没有javax.print.StreamPrintService
可以用来打印到文件的实现,除了 of 之外sun.print.PSStreamPrintService
,它打印到 postscript。它似乎也是 JDK 内部的一部分,而不是公共 API。工作,但留下一些疑问。
是否还有其他 Java 打印机实现?最好能打印pdf。如果不是我想我会去PSStreamPrintService
和 ps2pdf 转换。