Проблема печати Java с размером носителя

Я напечатаю над яшмой отчет о брате QL-700. Моя проблема в том, что Java сообщает драйверу принтера неправильный формат метки ☹ - Когда я использую диалоговое окно принтера в Java, я не могу найти правильный размер страницы в раскрывающемся списке - Страница доступна, когда я захожу под драйвером Windows настройки / свойства (62 мм), но в java размер страницы отсутствует ☹ - Когда я пытаюсь определить MediaSize, он не работает… - Мне забавно, когда я сначала определяю страницу DIN_A4, а затем настраиваемую страницу, в диалоговом окне принтера пользовательская страница, но распечатать DIN_A4...

Размер этикетки составляет 62x20 мм. В диалоговом окне принтера размер страницы отображается как 17x54 мм (от поиска носителя? Ближайший размер до 62x20) => Но принтер не будет печатать, если размер не 62 мм… sn Фрагмент моего кода:

// Fill report
JasperPrint jasperPrint = null;
try {
    jasperPrint = report.fillIt(jasperReport, (HashMap<String,Object>) parameters, dataSource2);
} catch (JRException e1) {

    //e1.printStackTrace();
}
logger.info("Fill report");
logger.info(jasperPrint.toString());

logger.info("start print Report");

logger.info("h=" + jasperPrint.getPageHeight() + " w=" +jasperPrint.getPageWidth());
PrintRequestAttributeSet printRequestAttributeSet = new HashPrintRequestAttributeSet();
// printRequestAttributeSet.add(MediaSizeName.ISO_A4);
printRequestAttributeSet.add(new MediaPrintableArea(0, 0, 62, 4, MediaPrintableArea.MM));
printRequestAttributeSet.add(new Copies(1));


PrintServiceAttributeSet printServiceAttributeSet = new HashPrintServiceAttributeSet();

//PrintServiceAttributeSet .add(new MediaPrintableArea(0, 0, 62, 4, MediaPrintableArea.MM));
JRPrintServiceExporter exporter = new JRPrintServiceExporter();



exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
SimplePrintServiceExporterConfiguration expConfig = new SimplePrintServiceExporterConfiguration();

PrintService service = Printerlookup.getPrintservice(printername, Boolean.TRUE, Boolean.TRUE);
expConfig.setPrintService(service);


//exporter.setParameter(JRExporterParameter.PAGE_INDEX, pageIndex);
//exporter.setParameter(JRExporterParameter.START_PAGE_INDEX, pageStartIndex);
//exporter.setParameter(JRExporterParameter.END_PAGE_INDEX, pageEndIndex);

expConfig.setPrintRequestAttributeSet(printRequestAttributeSet);
expConfig.setPrintServiceAttributeSet(printServiceAttributeSet);

//  expConfig.setDisplayPageDialog(Boolean.TRUE);
// expConfig.setDisplayPrintDialog(Boolean.TRUE);
expConfig.setDisplayPrintDialog(Boolean.FALSE);

exporter.setConfiguration(expConfig);
try {
    exporter.exportReport();
} catch (JRException e2) {
    // TODO Auto-generated catch block
    e2.printStackTrace();
}



logger.info("Finished Test Print ");

Кто-нибудь знает, что я делаю не так? Спасибо!

0 ответов

Другие вопросы по тегам