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

0

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

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 дюйма от дюйма), а затем попытался уменьшить его, но безуспешно. Этот код прекрасно работает, когда я печатаю на своем обычном струйном принтере на странице формата А4. Я получаю сообщение об ошибке только при попытке печати на принтере этикеток DYMO 450 (используя разные объекты Paper и PageFormat). Глядя на результаты Google, я обнаружил, что я практически единственный человек в истории, который получил эту ошибку.

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

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

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

Ваш Ответ

2   ответа
5

    PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();

    aset.add(OrientationRequested.PORTRAIT);
    aset.add(MediaSizeName.INVOICE);


        job.print( aset);
1

Попробуйте установить область изображения равную размеру бумаги и оригинала 0,0. Затем послеPrinterJob.printDialog(), вызовPrinterJob.validatePage() с вашим форматом страницы. Он вернет верный формат страницы с соответствующей областью изображения.

Похожие вопросы