За основу взял этот пример
и решил шаблон сделать с помощью jasperreports и отдельно создал класс который работает уже с шаблоном...
List<String> list = new ArrayList<>();
list.add("qwe");
JRBeanCollectionDataSource beanCollectionDataSource = new JRBeanCollectionDataSource(list);
InputStream reportPath =
getClass().getClassLoader().getResourceAsStream("Bill.jasper");
JasperCompileManager.compileReport(reportPath);
jasperPrint = JasperFillManager.fillReport(reportPath, new HashMap(), beanCollectionDataSource);
byte[] output = JasperExportManager.exportReportToPdf(jasperPrint);
return output;
а вот когда запустил притер напечатал метровую портянку... )))) при этом ниче понятного не распечаталась...
хотя когда пользуюсь JasperViewer.viewReport(jasperPrint);
то получаю то что надо вот
@DaysLikeThis как обещал кидаю листинг, может ещё кому то пригодитсяи кому пригодится:
try {
List<String> list = new ArrayList<>();
list.add("qwe");
JRBeanCollectionDataSource ds= new JRBeanCollectionDataSource(list);
InputStream reportPath =
getClass().getClassLoader().getResourceAsStream("Bill1.jasper");
System.out.println(reportPath);
JasperPrint jasperPrint = (JasperPrint) JasperFillManager.fillReport(reportPath, new HashMap<>(), ds);
PrinterJob printerJob = PrinterJob.getPrinterJob();
PageFormat pageFormat = PrinterJob.getPrinterJob().defaultPage();
printerJob.defaultPage(pageFormat);
int selectedService = 0;
AttributeSet attributeSet = new HashPrintServiceAttributeSet(new PrinterName("XP-80C", null));
PrintService[] printService = PrintServiceLookup.lookupPrintServices(null, attributeSet);
try {
printerJob.setPrintService(printService[selectedService]);
} catch (Exception e) {
System.out.println(e);
}
JRPrintServiceExporter exporter;
PrintRequestAttributeSet printRequestAttributeSet = new HashPrintRequestAttributeSet();
printRequestAttributeSet.add(MediaSizeName.NA_LETTER);
printRequestAttributeSet.add(new Copies(1));
// these are deprecated
exporter = new JRPrintServiceExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRPrintServiceExporterParameter.PRINT_SERVICE, printService[selectedService]);
exporter.setParameter(JRPrintServiceExporterParameter.PRINT_SERVICE_ATTRIBUTE_SET, printService[selectedService].getAttributes());
exporter.setParameter(JRPrintServiceExporterParameter.PRINT_REQUEST_ATTRIBUTE_SET, printRequestAttributeSet);
exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PAGE_DIALOG, Boolean.FALSE);
exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PRINT_DIALOG, Boolean.FALSE);
exporter.exportReport();
} catch (JRException e) {
e.printStackTrace();
}
некоторые методы деприкейтед, ещё не успел исправить... если у кого нибудь будет возможность это сделать то был бы благодарен ;) спасибо за советы!
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Сегодня в Google Play наткнулся на интересную программу, конструктор, в котором были реализованы кубики (не знаю как они называются) как на картинке
Подскажите, как можно сделать вот такую полоску лесенкой с помощью css
У меня есть запросы в Fiddler`e там с десктоп программы отправляется