Java 按顺序执行打印和保存作业

Java 按顺序执行打印和保存作业,java,swing,pdf,printing,Java,Swing,Pdf,Printing,我得打印一张账单。账单设计是使用JavaGraphics2D完成的,账单的某些部分是通过从Java小程序的JTextFields检索文本来填充的。很好用。但我还需要做的是,我必须将整个打印输出的副本(不仅仅是JTextFields的内容)保存为pdf。为了测试打印输出中文本的对齐方式,我在Print对话框中使用PDFXChange 4.0将其保存为pdf。但我不能总是做两件事——先用PDFExchange保存,然后在打印机中打印出来。请指导我如何使用Java一次性实现这一点 我可能会尝试使用iT

我得打印一张账单。账单设计是使用Java
Graphics2D
完成的,账单的某些部分是通过从Java小程序的
JTextFields
检索文本来填充的。很好用。但我还需要做的是,我必须将整个打印输出的副本(不仅仅是
JTextFields
的内容)保存为
pdf
。为了测试打印输出中文本的对齐方式,我在
Print
对话框中使用PDFXChange 4.0将其保存为
pdf
。但我不能总是做两件事——先用PDFExchange保存,然后在打印机中打印出来。请指导我如何使用Java一次性实现这一点

我可能会尝试使用iText之类的工具将图形直接发送到PDF

以Checkout为例

你得自己处理寻呼


或者,您可以将每个页面保存到一个图像中(使用ImageIO API),然后将每个图像插入到PDF中

1)将PDF保存到本地磁盘。2) 调用
Desktop.print(the.pdf)
。这不仅是你试图避免的,而且与你目前正在做的相反。OTOH,将两者结合起来的用例是什么?“我不能总是做两份工作”嗯。。你不必这么做,这是代码,或者更确切地说是JVM,“做两件事”。如果涉及到安全提示,这可能会导致用户“做两件事”,但同样,这不是您,而是用户。至于代码,您可能必须编写两个方法,但那是一次,而不是“始终”。@AndrewThompson Ok先生。但是,你能不能说得更清楚准确一点?你能放一些你试过的代码吗?先生,谢谢你的想法。我下载了
itext 5.3.1
。它是一个zip文件,包含10个文件,并解压缩到JDK1.6.0的lib文件夹中。并将lib文件夹添加为系统变量中的类路径。但是,当我运行程序时,我得到的错误
package com.itextpdf.text不存在
同样适用于所有其他软件包。为什么,先生?