Jasperreports: можно увидеть фоновое изображение в формате pdf, но не экспортировать docx
Генерация отчетов:
Следующий код находится в сервлете и генерирует как документ слова "letter.docx" для загрузки, так и файл "pika.pdf" в C:
Я могу видеть фоновое изображение, определенное в pika, но не в букве.
InputStream is = request.getServletContext().getResourceAsStream("/resources/reports/" +name);
JasperReport jr = JasperCompileManager.compileReport(is);
JasperPrint jp = JasperFillManager.fillReport(jr, params, ds);
JRExporter exp = new JRDocxExporter();
exp.setParameter(JRExporterParameter.JASPER_PRINT, jp);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
exp.setParameter(JRExporterParameter.OUTPUT_STREAM, bos);
exp.exportReport();
JasperExportManager.exportReportToPdfFile(jp, "C:\\pika.pdf");
byte[] bytes = bos.toByteArray();
response.reset();
response.setContentType("application/octet-stream");
response.setHeader("Content-disposition", "attachment; filename=\"letter.docx\"");
response.getOutputStream().write(bytes);
response.getOutputStream().flush();
response.getOutputStream().close();
Ответы
Ответ 1
Ищете ответ в сообществе яшмы, я вижу, что вы не первый, кто этого задал.
Вот еще один вопрос, как ваш. Все говорит, что вы не можете установить изображение в качестве фона в отчетах doc.
Последние вещи, которые я нашел в своем путешествии, - это три альтернативы:
Отчеты JOD Самый радикальный вариант, если вы можете изменить механизм отчетов, проверьте это.
Другой учебник, который показывает, как вставлять изображения, но я не уверен, что работает в Word docs в конкретном случае.
Последний учебник Здесь в SO немного помечен текст в качестве фона.
Надеюсь, это поможет, приветствует.
Ответ 2
У меня недостаточно информации о вашем случае, но как только у меня возникла очень неприятная проблема с экспортом Excel, ячейка не показывалась в XLS, но в формате PDF это было хорошо. То, что я узнал, было всего лишь несогласованностью одного пикселя между полосой заголовка и диапазоном значений для того же столбца. Это привело к добавлению дополнительной ячейки в каждую строку значений, и JR не смог ее правильно заполнить.
Поэтому проверка несоосности в JRXML - это мой совет, основанный на предыдущем опыте. Поскольку форматы MS Office не являются стандартизованными как PDF или HTML, их экспорт, как правило, более "глючит".