Назад к вопросам
Junior — Middle
112
Каким образом реализовать отправку PDF-документа пользователю в приложении?
Компании, где спрашивали
RedLab
Ответ от нейросети
sobes.tech AI
Для отправки PDF-документа пользователю в Java-приложении, например, веб-приложении на Spring Boot, можно сделать следующее:
- Сформировать PDF-файл или получить его из хранилища.
- Установить правильные HTTP-заголовки для ответа, чтобы браузер понимал, что это PDF и предлагал скачать или открыть файл.
- Записать содержимое PDF в поток ответа.
Пример контроллера на Spring Boot:
@GetMapping("/download/pdf")
public void downloadPdf(HttpServletResponse response) throws IOException {
// Путь к PDF-файлу
File pdfFile = new File("path/to/document.pdf");
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=document.pdf");
response.setContentLength((int) pdfFile.length());
try (InputStream is = new FileInputStream(pdfFile);
OutputStream os = response.getOutputStream()) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = is.read(buffer)) != -1) {
os.write(buffer, 0, bytesRead);
}
os.flush();
}
}
Если PDF генерируется динамически, можно использовать библиотеки вроде iText или Apache PDFBox для создания документа в памяти и отправки его через OutputStream.