将Excel转换为PDF - 使用iText的Java

时间:2017-08-25 17:25:46

标签: java excel pdf itext

我用Apache POI创建了一个excel文件。 现在我需要将其转换为PDF。 我想使用iText,但我想将合并的单元格,样式等从excel文件复制到pdf。

我怎样才能做到这一点?因为我在网上找到的代码示例:PDF to Excel using iText and Apache POI很好,但不会复制合并的单元格样式。

有什么想法吗?非常感谢你!

1 个答案:

答案 0 :(得分:3)

如果您打算使用iText,最好使用iText7。这是iText的最新版本,并且已经完成了大量的错误修正(特别是对于表格)。

有人说过,当我看一下这个例子时,似乎这个例子只是遍历所有单元格并将它们添加到iText Table对象中。

iText7完全可以做同样的事情。您使用适当数量的列创建一个表,然后向其中添加单元格。

你的问题(据我所知)归结为“我如何设置iText表格单元格样式”。

这是一段只生成表格的示例代码。我已经指出了你可以在哪里设置表格内容的样式。

public static void main(String[] args) throws Exception {
    File file = new File(DEST);
    file.getParentFile().mkdirs();
    manipulatePdf(DEST);
}

public static void manipulatePdf(String dest) throws Exception {
    PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));
    Document doc = new Document(pdfDoc);

    Table table = new Table(8);
    for (int i = 0; i < 16; i++) {
        Paragraph para = new Paragraph("hi");
        // now you can use methods like:
        // para.setFont()
        // para.setFontColor()
        // para.setFontSize()
        table.addCell(para);
    }
    doc.add(table);

    doc.close();
}

http://developers.itextpdf.com/content/itext-7-examples/itext-7-tables

查看更多示例