document.add(表)没有完成

时间:2017-02-15 08:28:03

标签: java pdf pdf-generation itext7

我写了一个PDF生成器程序,它在PDF文件中创建一个表格报告。我的代码版本有效,如下所示:

public boolean createPdf(String filePath
                                    , List<String> header
                                    , List<List<String>> dataset
                                    , String title
                                    , int totalNumOfColumn){
    try
    {
        PdfDocument pdfDoc = new PdfDocument(new PdfWriter(filePath));
        pdfDoc.getCatalog().setViewerPreferences(
                new PdfViewerPreferences().setDisplayDocTitle(true));
        PdfDocumentInfo info = pdfDoc.getDocumentInfo();
        info.setAuthor("ABC");
        info.setCreator("ABC");
        info.setTitle(title);

        Document document = new Document(pdfDoc, PageSize.A4.rotate());
        Table table = new Table(totalNumOfColumn);

        // Adding header row
        for (String content : header){
            table.addHeaderCell(content);

        }

        // Adding data
        for (List<String> record : dataset) {
            for (String field : record) {
                table.addCell(field);
            }
        }
        document.add(table);
        document.close();

        return true;
    }
    catch (Exception e) {
        System.out.println(e);
        return false; 
    }
}

请考虑我添加标题行的代码块。如果我使用Cell类修改代码以使用小样式,如下所示:

for (String content : header) {
    Cell cell = new Cell().setBold().add(content);
    table.addHeaderCell(cell);
}

然后我的document.add(table);永远不会回来。

我不确定为什么。请指教。

0 个答案:

没有答案