Java生成PDF文件

从入门到实践,掌握在Java中生成PDF文档的核心技术

为什么需要在Java中生成PDF?

在企业级应用开发中,经常需要将数据导出为PDF格式,用于报表打印、合同生成、电子发票等场景。Java生态中有多个成熟的库支持PDF生成。

常用Java PDF库

iText 示例代码

使用 iText 7 创建一个简单的PDF文件:

import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;

public class PdfExample {
    public static void main(String[] args) throws Exception {
        PdfWriter writer = new PdfWriter("example.pdf");
        PdfDocument pdf = new PdfDocument(writer);
        Document document = new Document(pdf);
        document.add(new Paragraph("Hello, Java PDF!"));
        document.close();
    }
}

Apache PDFBox 示例

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDType1Font;

public class PdfBoxExample {
    public static void main(String[] args) throws Exception {
        PDDocument document = new PDDocument();
        PDPage page = new PDPage();
        document.addPage(page);

        PDPageContentStream content = new PDPageContentStream(document, page);
        content.beginText();
        content.setFont(PDType1Font.HELVETICA_BOLD, 12);
        content.newLineAtOffset(100, 700);
        content.showText("Hello from PDFBox!");
        content.endText();
        content.close();

        document.save("pdfbox-example.pdf");
        document.close();
    }
}

注意事项

更多功能More features
批量转换批量转换批量处理文件,支持docx/txt 降低AI率降低AI率用更自然的表达方式重写内容 改写建议改写建议看看同一句话还能怎么说