我正在尝试在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。
答案 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
的更多信息如果您有任何问题,请问我)祝您好运!