Я столкнулся с очень странным вопросом, я пытаюсь отправить файл PDF в качестве вложения из моего приложения распорок, используя ниже кода,Blank PDF во время загрузки
JasperReport jrReport = (JasperReport) JRLoader.loadObject(jasperReport);
JasperPrint jasperPrint = JasperFillManager.fillReport(jrReport, parameters, dataSource);
jasperPrint.setName(fileNameTobeGivenToExportedReport);
response.reset();
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileNameTobeGivenToExportedReport + ".pdf" + "\"");
response.setHeader("Cache-Control", "private");
JasperExportManager.exportReportToPdfStream(jasperPrint, response.getOutputStream());
но PDF, который загружается приходит с нет данных, означает, что он показывает пустую страницу.
Когда в приведенном выше коде я добавил строку ниже, чтобы сохранить файл PDF в моем D: каталог
File pdf = new File("D:\\sample22.pdf");
JasperExportManager.exportReportToPdfStream(jasperPrint, new FileOutputStream(pdf));
Файл, который становится генерируется собственно, значит, со всеми данными. Одна вещь, которую я заметил, что файл, который загружается из браузера и «sample22.pdf», имеет тот же размер.
Я прочитал статью, в которой говорится, что это может быть проблема с конфигурацией сервера, так как наш сервер может искажать выходной поток. Это статья, которую я прочитал Creating PDF from Servlet.
Эта статья говорит
Это может произойти, если ваш сервер сглаживает все байты со значением выше 127. Обратитесь к вебу (или приложению) руководство сервера, чтобы узнать, как убедиться, что двоичные данные посылают правильно в браузер.
Я использую распорки 1.x, jBoss6, иРепорт 1,2
Вы сами ответили на вопрос (кстати: вы цитируете незаконную копию моей книги). Вы можете проверить свои собственные результаты, загрузив файл PDF и просмотрев байты, соответствующие ключевым словам потока. Если вы не видите никаких двоичных данных (неразборчивые вещи), но вместо этого куча вопросительных знаков или пробелов, ваш PDF-файл был поврежден где-то в этом процессе. –
@BrunoLowagie Можете ли вы быть более ясными, я не думаю, что я вас правильно. Было бы очень полезно. Спасибо – Vicky
Мне нужно скриншоты, чтобы объяснить. Я добавлю их в ответ. –