ドットマトリックスプリンターで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)
{
}