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

标签 java excel pdf itext

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

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

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

最佳答案

如果你打算使用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 查看更多示例

关于java - 将 Excel 转换为 PDF - 使用 iText 的 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45886648/

相关文章:

java - 当桶中的条目对象从阈值减少后,JDK 8中的hashmap是否会再次调整自身大小?

java - 从 Enunciate 文档中排除某些响应模型字段

java - 关闭/退出子框架而不关闭父框架

arrays - 定义数组搜索的术语

excel - 如何从 Excel 工作表中更新 Google Doc 电子表格 'real time'(持续)

Excel 中仅包含可见单元格的 CountIf 问题

Android - PdfDocument - 将 LinearLayout 分成多个 pdf 页面

java - 批量查询爬虫操作的模式

ruby - 如何检查 PDF 文件是否与 Ruby/Rspec 有一些链接?

windows - 如何将数据发送到现代打印机? PDF、PostScript、HPGL 等