求助:怎样用JAVA语言实现打印报表功能
各位高手,我现在用JBuilder2005编了个劳动工资的小管理系统,我想实现打印工资信息的功能,请问怎么弄!
谢谢!要是有源码就更加感谢了!
----------------解决方案--------------------------------------------------------
你可以看看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;
for(int i=0;i<docs.length;i++){
dps.createPrintJob().print(docs[i], attrs); //打印
}
[ 本帖最后由 成事在人 于 2012-12-31 14:28 编辑 ]
----------------解决方案--------------------------------------------------------