首页 文章

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

提问于
浏览
1

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

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

有任何想法吗?非常感谢你 !

1 回答

  • 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

相关问题