如何使用java创建和打印表单

时间:2011-08-22 17:26:04

标签: java forms printing

也许有人可以提供帮助,并告诉如何创建和打印表单 像这样: enter image description here 用java。 此外,它应该填充所需的信息。

4 个答案:

答案 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时它是相当古老的代码,我在这里发布它时没有仔细检查它,但它在我的应用程序中工作所以.....