也许有人可以提供帮助,并告诉如何创建和打印表单 像这样: 用java。 此外,它应该填充所需的信息。
答案 0 :(得分:2)
java.awt.print - Java 2D打印,自JDK 1.2起 javax.print - 自JDK 1.4以来的Java打印服务(JPS)API
来自http://java.sun.com/javase/technologies/desktop/printing/
我认为你需要一些谷歌搜索 - 它看起来像一个非常微不足道的任务。
答案 1 :(得分:0)
如果您使用的是Swing,请按照以下步骤操作:
对于A4设置:
使用大约的JFrame。 750像素X 960 px。
在Window中使用JLabels,JTextFields和JTextAreas来设计模板。 还可以在窗口的任何位置添加打印按钮(以启动打印命令)。
现在,当所有设计完成时,只需在按钮操作事件的代码窗口中 添加:
<Button Name>.setVisible(false);
<PanelName>.print();
第一个将隐藏按钮,第二个将实际显示一个打印对话框。
此外,使用Netbeans IDE可以节省设计时间。在设计,编译和测试方面节省了大量时间。
请回复任何疑问,希望信息有用。
答案 2 :(得分:0)
如果您需要在Web应用程序中执行此操作,则应使用javascript完成打印。但是您可以使用Java呈现页面。 http://shyarmal.blogspot.com/2011/08/printing-example-with-java-ee.html
如果你是使用swing进行的:http://shyarmal.blogspot.com/2011/08/printing-with-jeditorpane.html
答案 3 :(得分:0)
有点晚了,但我会留在这里作为参考: //仅限相关代码
import java.awt.print
public void FilePrintClicked(){
PrinterJob job = PrinterJob.getPrinterJob();
PageFormat format = job.defaultPage();
format.setOrientation(PageFormat.LANDSCAPE);
job.setPrintable(this, format);
try{
if(job.printDialog()) job.print();
}
catch(Exception e){e.printStackTrace();}
}
public int print(Graphics g, PageFormat format, int pagenum) {
if (pagenum > 0){
return Printable.NO_SUCH_PAGE;
}
g.translate((int)format.getImageableX(), (int)format.getImageableY());
float pageWidth = (float)format.getImageableWidth();
float pageHeight = (float)format.getImageableHeight();
float imageHeight = (float)this.getHeight();
float imageWidth = (float)this.getWidth();
float scaleFactor = Math.min((float)pageWidth/(float)imageWidth, (float)pageHeight/(float)imageHeight);
int scaledWidth = (int)(((float)imageWidth)*scaleFactor);
int scaledHeight = (int)(((float)imageHeight)*scaleFactor);
BufferedImage canvas = new BufferedImage( this.getWidth(), this.getHeight(), BufferedImage.TYPE_INT_RGB);
Graphics2D gg = canvas.createGraphics();
this.paint( gg );
Image img = canvas ;
g.drawImage(img, 0, 0, scaledWidth, scaledHeight, null );
return Printable.PAGE_EXISTS;
}
注意:您的类需要实现Printable 它有点脏,但是当我学习Java时它是相当古老的代码,我在这里发布它时没有仔细检查它,但它在我的应用程序中工作所以..... 强>