当前位置: 代码迷 >> Java相关 >> 求助:怎样用JAVA语言实现打印报表功能
  详细解决方案

求助:怎样用JAVA语言实现打印报表功能

热度:172   发布时间:2006-05-04 13:19:00.0
求助:怎样用JAVA语言实现打印报表功能

各位高手,我现在用JBuilder2005编了个劳动工资的小管理系统,我想实现打印工资信息的功能,请问怎么弄!
谢谢!要是有源码就更加感谢了!

搜索更多相关的解决方案: JAVA  工资  语言  功能  打印  

----------------解决方案--------------------------------------------------------
你可以看看java.awt.print包里面的函数
----------------解决方案--------------------------------------------------------
PrinterJob pj=PrinterJob.getPrinterJob();
pageFormat=pj.pageDialog(pageFormat);
用来设置打印的规格
pj.setPrintable(table,pageFormat);
pj.print();
print()方法所在的类要实现Printable借口例如
public int print(Graphics g,PageFormat pf,int index)
{
if(index==0)
{
g.translate((int)(pf.getImageableX()),(int)(pf.getImageableY()));
table.paint(g);
return Printable.PAGE_EXISTS;

}
return Printable.NO_SUCH_PAGE;
}
----------------解决方案--------------------------------------------------------

请问你那报表实现了,怎么生成报表和打印报表啊 请帮忙:wks_sun@126.com


----------------解决方案--------------------------------------------------------
回复 2楼 千里冰封
我是用java.api中自带的打印功能。为什么使用本地打印机的时候无法向打印机发送打印指令,而使用远程打印机就可以发送打印指令并打印文档呢?代码如下
PrintService[] printers = PrintServiceLookup.lookupPrintServices(null,  
                    null);  
            // get default printer   
            PrintService defaultPrinter = PrintServiceLookup.lookupDefaultPrintService();      //所有打印服务列表
            // the contentType which to be printed   
            DocFlavor flavor = DocFlavor.INPUT_STREAM.JPEG;      
            // print attrituters   
            PrintRequestAttributeSet attrs = new HashPrintRequestAttributeSet();  
            // get a printer   
            PrintService dps = ServiceUI.printDialog(null, 100, 100, printers, defaultPrinter, null, attrs);      //获得使用的打印服务
            // new one document   
            Doc doc = new SimpleDoc(new FileInputStream(new File( "D:\\aaa.doc")), flavor, null);      //产生打印数据
            Doc doc2=new SimpleDoc(new FileInputStream(new File( "D:\\aaa.doc")), flavor, null);
            Doc[] docs=new Doc[100];
            docs[0]=doc;
            docs[1]=doc2;
            // print      
            for(int i=0;i<docs.length;i++){
                  dps.createPrintJob().print(docs[i], attrs);      //打印
            }

[ 本帖最后由 成事在人 于 2012-12-31 14:28 编辑 ]
----------------解决方案--------------------------------------------------------
  相关解决方案