首页 > 解决方案 > 如何使用 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());
    }

我该如何解决这个问题?

标签: javaitext

解决方案


将此替换为“instance = PdfWriter.getInstance(document, new FileOutputStream(file));” PdfWriter.getInstance(document, new FileOutputStream("yourfilename.pdf"));


推荐阅读