ApachePOI pdf创建

时间:2018-07-31 18:28:31

标签: java pdf apache-poi pdf-generation

我正在尝试在maven项目中使用ApachePOI创建一个简单表。我查看了他们的文档,但没有看到对PDF的依赖。 ApachePOI中有内置的方式来创建PDF吗?

我看到了本教程,它教您如何转换文件,而不是如何从头开始创建文件。 https://rdtschools.com/covert-docx-file-pdf-using-apache-poi-library-java/

然后我在stackoverflow上看到了这个question,答案似乎就像使用Opensagres POI一样,因为它可以与Apache POI 3.17一起使用,但是需要另一个JAR。

1 个答案:

答案 0 :(得分:1)

如果要创建pdf文件,可以尝试

new FileOutputStream("path.pdf");

然后使用pdf writer将其写入文件。 但是,如果您对Pdf表生成感兴趣。我想为您提供另一个库。

我与 itextpdf 一起工作,并在pdf文档中创建了表格。

    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>itextpdf</artifactId>
        <version>5.5.12</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.itextpdf.tool/xmlworker -->
    <dependency>
        <groupId>com.itextpdf.tool</groupId>
        <artifactId>xmlworker</artifactId>
        <version>5.4.4</version>
    </dependency>

您应该这样写

public PdfStream opendocument() {
    document = new Document(PageSize.A4);
    try {
        writer = PdfWriter.getInstance(document, new FileOutputStream(path));
        writer.setPdfVersion(PdfWriter.PDF_VERSION_1_7);
        document.open();
    } catch (DocumentException | FileNotFoundException e) {
        e.printStackTrace();
    }
    return this;
}

p.s。这是我的代码的一部分,不必关心 PdfStream 类。

其中 writer document 对象是 PdfWriter Document 实例。 我认为在此处编写所有代码示例不是一个好主意,但是您可以阅读有关此https://developers.itextpdf.com/examples/itext-action-second-edition/chapter-1

的更多信息

如果您有任何问题,请问我)祝您好运!