我们的应用程序是客户端/服务器设置,其中客户端是始终在 Windows 中运行的独立 Java 应用程序,而服务器是用 C 编写的,可以在 Windows 或 Unix 机器上运行。此外,我们使用 Perl 来做各种报告。一般来说,报告的工作方式是我们在服务器上用 Perl 生成文本文件或 xml 文件,然后将其发送到客户端。然后,客户端使用 FOP 或类似工具将 xml 转换为 pdf。无论是文本文件还是最终的 pdf 文件,用户都可以通过 java 客户端选择打印机,然后将复制的文件打印到所选打印机。
我们的一份“报告”用于创建条形码。这个的不同之处在于它使用 Perl 从数据库中获取/格式化一些数据,然后将其发送到创建一些原始打印数据的 C 应用程序。然后,该数据被直接发送到打印机(通过 Unix 中的简单管道或 Windows 中的自定义应用程序。
问题在于,这根本不考虑用户在 Java 客户端中选择的打印机。此外,我们无法在所述客户端中显示预览。理想情况下,我希望能够将原始打印数据转换为 ps/pdf 或服务器上(甚至客户端)上的类似数据,然后将其从客户端发送到打印机。这将允许我显示预览以及实际打印到选定的打印机。
如果我无法生成预览,即使只是将文件中的原始数据复制到 Java 客户端,然后将其发送到打印机也可能“足够好”。我一直无法找到任何我想要完成的事情,所以任何帮助当然将不胜感激。
编辑:RAW 数据为 PCL 格式。我设法使源代码与 PCL 语言引用指南保持一致。
最佳答案
你看过iText吗? ?
关于java - 需要将 RAW 打印数据转换为 ps/pdf 或从 Java 打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1201514/