Я получаю эту ошибку, когда пытаюсь напечатать что-то для определенного принтера этикеток в моем текущем проекте колледжа:
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 берет ширину изображения из формата страницы. Я явно что-то здесь упускаю.