java - 如何使用 iText 保存 .pdf 文件?
问题描述
我正在使用iText生成 .pdf 文件,然后将它们保存到特定位置。
问题是当运行服务并且我通过请求访问服务时,它会正确保存第一个文件,但是当我尝试生成另一个文件时,它会生成一个文件,其中包含第一个文件的数据加上它附加以前的数据与新数据。每个请求都会发生这种情况。
代码如下:
String reportName = Util.getReportname(headersArrayList);
System.out.println("Report Name " + reportName);
String file = Util.getProperty("save.report.file") + reportName;
PdfWriter instance = null;
try {
Document document= new Document(PageSize.A4.rotate());
instance = PdfWriter.getInstance(document, new FileOutputStream(file));
document.open();
addTitlePage(document, headersArrayList);
System.out.println("request.getTables().size() : " + request.getTables().size());
TemplateUtility.addMetaData(document, headersArrayList);
createTable(document, request.getTables());
document.close();
} catch (DocumentException e) {
System.err.println(e.getMessage());
} catch (FileNotFoundException e) {
System.err.println(e.getMessage());
}
我该如何解决这个问题?
解决方案
将此替换为“instance = PdfWriter.getInstance(document, new FileOutputStream(file));”
PdfWriter.getInstance(document, new FileOutputStream("yourfilename.pdf"));
推荐阅读
- svn - 在 SVN 存储库中提交后,Phinx 迁移未在服务器上运行
- python - 当带有 extract() 的 Scrapy 选择器返回 None 时如何设置默认值?
- python - 使用线程 python 终止脚本
- npm - 如何更新全局安装的 npm 包
- c++ - 使用聚合初始化器初始化类的模板(聚合类型)成员,但没有额外的括号
- spring - 多个 Spring Security 过滤器
- c# - 将多边形点保存到mysql数据库c#
- c - 第一次评估后始终具有相同值的 if 语句的优化
- python - counting specific weekday between two dates
- javascript - 如何在 React Native 中更新配置文件(displayName)firebase?