java pdf 文件下载
时间: 2023-11-09 11:57:33 浏览: 103
java使用itext实现pdf文件下载
Java可以使用itextpdf库来生成和下载PDF文件。通过在后台生成PDF文件,并将其作为字节流返回给前端,可以实现PDF文件的预览和下载功能。以下是一个关于如何在Java中生成和下载PDF文件的示例代码:
```
// 导入itextpdf库
import com.itextpdf.text.Document;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
// 生成PDF文件的方法
public void generatePDF(String filePath, String content) {
try {
// 创建Document对象
Document document = new Document();
// 创建PdfWriter对象,并将Document与输出文件关联
PdfWriter.getInstance(document, new FileOutputStream(filePath));
// 打开Document
document.open();
// 添加内容到Document
document.add(new Paragraph(content));
// 关闭Document
document.close();
// 输出成功提示
System.out.println("PDF文件已生成:" + filePath);
} catch (Exception e) {
e.printStackTrace();
}
}
// 下载PDF文件的方法
public void downloadPDF(HttpServletResponse response, String filePath) {
try {
// 设置响应头
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=\"example.pdf\"");
// 创建输入流
FileInputStream fileInputStream = new FileInputStream(filePath);
// 创建输出流
OutputStream outputStream = response.getOutputStream();
// 缓冲区大小
int bufferSize;
byte[] buffer = new byte[4096];
// 写入缓冲区并输出到响应流
while ((bufferSize = fileInputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bufferSize);
}
// 关闭输入流和输出流
fileInputStream.close();
outputStream.close();
// 输出成功提示
System.out.println("PDF文件已下载:" + filePath);
} catch (Exception e) {
e.printStackTrace();
}
}
```
阅读全文