主 题: 写个打印票据的小程序,不知如何能把上边距设小点
作 者: mineratjbtax ()
等 级:
信 誉 值: 97
所属社区: Java J2EE / EJB / JMS
问题点数: 20
回复次数: 0
发表时间: 2006-05-18 15:44:26
写个打印票据的小程序,不知如何能把上边距设小点,缺省值总是1英吋,代码如下:
if (printStr != null && printStr.length() > 0) { //当打印内容不为空时
PrinterJob myPrtJob = PrinterJob.getPrinterJob(); //获取默认打印作业
PageFormat pageFormat=myPrtJob.pageDialog(myPrtJob.defaultPage());
这样写每次pageDialog()都会弹出对话框让用户手工把上边界改小很麻烦,我不知有没办法
在程序中设定上边界这个参数。我在print()中试过这样:
Graphics2D g2 = (Graphics2D) g;
g2.setPaint(Color.black); //设置打印颜色为黑色
if (page >= PAGES) //当打印页号大于需要打印的总页数时,打印工作结束
return Printable.NO_SUCH_PAGE;
g2.translate(pf.getImageableX(),36.0 /* pf.getImageableY() */); //在此处
把pf.pf.getImageableY()即缺省上边距1英吋72.0,改小为36.0,打印出来文字整体是上移了但上边半共同英吋的文字也就打不出来 :-) 不知有何方法请指点呵呵
作 者: mineratjbtax ()
等 级:
信 誉 值: 97
所属社区: Java J2EE / EJB / JMS
问题点数: 20
回复次数: 0
发表时间: 2006-05-18 15:44:26
写个打印票据的小程序,不知如何能把上边距设小点,缺省值总是1英吋,代码如下:
if (printStr != null && printStr.length() > 0) { //当打印内容不为空时
PrinterJob myPrtJob = PrinterJob.getPrinterJob(); //获取默认打印作业
PageFormat pageFormat=myPrtJob.pageDialog(myPrtJob.defaultPage());
这样写每次pageDialog()都会弹出对话框让用户手工把上边界改小很麻烦,我不知有没办法
在程序中设定上边界这个参数。我在print()中试过这样:
Graphics2D g2 = (Graphics2D) g;
g2.setPaint(Color.black); //设置打印颜色为黑色
if (page >= PAGES) //当打印页号大于需要打印的总页数时,打印工作结束
return Printable.NO_SUCH_PAGE;
g2.translate(pf.getImageableX(),36.0 /* pf.getImageableY() */); //在此处
把pf.pf.getImageableY()即缺省上边距1英吋72.0,改小为36.0,打印出来文字整体是上移了但上边半共同英吋的文字也就打不出来 :-) 不知有何方法请指点呵呵
可以参考我网站上的文章:
http://cedar.peng.googlepages.com/home --> 2006-05 Java Print APD Study (pdf)也可以从java.sun.com上下载:
Java™ Print Service API User Guide