Проблема печати Java с размером носителя - PullRequest
0 голосов
/ 06 июня 2018

Я напечатаю над яшмой отчет о брате 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 ");

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

...