当前位置: 代码迷 >> Java Web开发 >> Java打印程序连续打印走纸相当严重,高手帮忙解决,急。
  详细解决方案

Java打印程序连续打印走纸相当严重,高手帮忙解决,急。

热度:103   发布时间:2010-04-04 16:16:08.0
Java打印程序连续打印走纸相当严重,高手帮忙解决,急。
下面有本人一段小程序,要实现连续打印,(类似打汽车票的业务)
打印第一页内容的时候,没有任何问题,但是会走很长一段空白才开始打印第二页的内容,
第二页的起始位置实际打印在第二张纸的最下方。

public static void main(String[] args)
{
//PrintContent 是一个类
PrintContent p = new PrintContent();

        PrinterJob printerJob = PrinterJob.getPrinterJob();
        PageFormat page_format = new PageFormat();

        //EMS 的单子尺寸240MM * 153 MM
        Paper paper = new Paper();
        double unit = 72 / 25.4;
        paper.setSize(240 * unit, 153 * unit);
        paper.setImageableArea(0, 0, 240 * unit, 153 * unit);
        page_format.setPaper(paper);

        printerJob.setPrintable(p, page_format);

        try {
            PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
            attributes.add(new MediaPrintableArea(0f, 0f, (float) (240 / 25.4), (float) (153 / 25.4), MediaPrintableArea.INCH));
            printerJob.print(attributes);
        } catch (PrinterException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }
}

public class PrintContent implements Printable
{
public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException
{
//打两张
if (pageIndex > 1) {
    return NO_SUCH_PAGE;//停止打印。
}

String print_value = "Hello world";
graphics.drawString(print_value, 100, 55);
return PAGE_EXISTS;
}
}
搜索更多相关主题的帖子: Java  打印  

----------------解决方案--------------------------------------------------------
  相关解决方案