1

ドットマトリックスプリンターでJavaを介して印刷しようとしています。カスタム サイズの Paper オブジェクトを作成しました。ただし、プリンターに行くと、カスタムサイズはかかりません。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)
        {

        }
4

0 に答える 0