Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法通过点阵打印机上的java打印设置自定义页面大小_Java_Printing_Graphics2d_Page Size_Dot Matrix - Fatal编程技术网

无法通过点阵打印机上的java打印设置自定义页面大小

无法通过点阵打印机上的java打印设置自定义页面大小,java,printing,graphics2d,page-size,dot-matrix,Java,Printing,Graphics2d,Page Size,Dot Matrix,我们正在尝试通过点阵式打印机上的java打印。我们已经创建了具有自定义大小的纸张对象。但当它进入打印机时,它不接受自定义大小。它需要11英寸或12英寸的尺寸。下面是我们正在使用的代码。请提出解决办法 PrinterJob job = PrinterJob.getPrinterJob(); // Get a PrinterJob. PageFormat format = job.defaultPage(); // Get the default page f

我们正在尝试通过点阵式打印机上的java打印。我们已经创建了具有自定义大小的纸张对象。但当它进入打印机时,它不接受自定义大小。它需要11英寸或12英寸的尺寸。下面是我们正在使用的代码。请提出解决办法

    PrinterJob job = PrinterJob.getPrinterJob();    // Get a PrinterJob.      

    PageFormat format = job.defaultPage();   // Get the default page format, then ask the user to customize it.

    Paper paper = format.getPaper();         // Note: Custom size of paper should be supported by attach Printer.

    paper.setSize((PaperWidth*72),
                    (PaperHeight*72));      // Set Custom size of the Paper.

    paper.setImageableArea(MarginLeft*72,  MarginTop*72,
                           paper.getWidth() - MarginRight*72 - MarginLeft*72,
                           paper.getHeight()- MarginBottom*72 - MarginTop*72);

    System.out.println(paper.getHeight());

    format.setPaper(paper);                                 // Set the paper.


    PageFormat pf = job.validatePage(format);

    Book bk = new Book();                                   // Set up a book, with exact no. of pages to be printable.
    bk.append(new TestClass(), pf, numPages);
    job.setPageable(bk);                                    // Pass the book to the PrinterJob

    ////// OR set printable without book.
    //// job.setPrintable(new TestClass(),format);

    if (job.printDialog())                                  // Put up the dialog box
    {    
        try  
        {
            job.print();                                    // Print the job if the user didn't cancel printing.
        } 
        catch (PrinterException ex)
        {

        }

我想您可能会发现打印对话框破坏了您的设置…我对打印对话框进行了注释,但输出也相同。好的,在validatePage调用之前和之后验证纸张大小,确保从页面格式检索纸张对象检查validatePage之前和之后的大小。是一样的。你试过用不同的打印机打印吗?我倾向于使用PDF输出选项(如果可用)进行打印测试。您是否在
作业之前转储了页面格式信息。打印
,并在可打印文件中转储。您可能会发现dot amtrix打印机无法处理自定义页面大小。。。