在 Java 中生成 PDF 有多种方式,其中一些常见的方法包括使用第三方库、使用 Java 自带的库、以及使用 HTML/CSS 转换工具。下面我将为你介绍几种常见的实现方式,包括步骤流程和相关代码示例。
iText 是一个常用的用于生成 PDF 文档的 Java 库。它允许你以编程方式创建、编辑和操作 PDF 文件。
添加依赖:
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13</version>
</dependency>
implementation 'com.itextpdf:itextpdf:5.5.13'
创建 PDF 文档:
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileOutputStream;
public class PdfGenerationExample {
public static void main(String[] args) {
Document document = new Document();
try {
PdfWriter.getInstance(document, new FileOutputStream("output.pdf"));
document.open();
document.add(new Paragraph("Hello, world! This is a PDF generated using iText."));
} catch (DocumentException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
document.close();
}
}
}
Apache PDFBox 是另一个流行的用于操作 PDF 文档的 Java 库。
添加依赖:
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.29</version>
</dependency>
implementation 'org.apache.pdfbox:pdfbox:2.0.29'
创建 PDF 文档:
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import java.io.IOException;
public class PdfBoxGenerationExample {
public static void main(String[] args) {
PDDocument document = new PDDocument();
PDPage page = new PDPage(PDRectangle.A4);
document.addPage(page);
try {
document.save("output.pdf");
document.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
这些是使用 iText 和 Apache PDFBox 两种常见的生成 PDF 的方式。根据你的需求和偏好,选择适合你的方式来生成 PDF 文档。记得根据实际情况替换代码中的内容,例如文件名、文本内容等。