«PrinterException: ширина бумаги для изображения слишком мала» Я понимаю, что не так, но как это исправить?

Я получаю эту ошибку, когда пытаюсь напечатать что-то для определенного принтера этикеток в моем текущем проекте колледжа:

java.awt.print.PrinterException: Paper's imageable width is too small.
    at sun.print.RasterPrinterJob.printPage(Unknown Source)
    at sun.print.RasterPrinterJob.print(Unknown Source)
    at sun.print.RasterPrinterJob.print(Unknown Source)
    at Printer.print(Printer.java:91)
    at Printer.<init>(Printer.java:43)
    at VisitorDBTest.main(VisitorDBTest.java:10)

Но я не могу понять, почему. У меня есть точный код этикетки для этого конкретного принтера, ширина и высота этикетки правильные. Я установил размер изображения на точный размер этикетки (в 1/72 дюйма), затем я попытался установить его меньше, но безуспешно. Этот код отлично работает, когда я печатаю на своем обычном струйном принтере страницу формата A4. Я получаю сообщение об ошибке только тогда, когда пытаюсь печатать на принтере этикеток DYMO 450 (используя разные объекты Paper и PageFormat). Глядя на результаты Google, кажется, что я практически единственный человек в истории, который получил эту ошибку.

РЕДАКТИРОВАТЬ: после печати ширины изображения на экране я получаю следующие результаты:

Paper imageable width is 196.0
PageFormat imageable width is 151.0
PrinterJob imageable width is -65.0267716535433

Насколько я понимаю, формат страницы берет ширину изображения из бумаги, а PrinterJob берет ширину изображения из формата страницы. Я явно что-то здесь упускаю.

0
задан bot_bot 18 May 2012 в 10:29
поделиться