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