java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java生成PDF文档

Java生成PDF文档两个超实用的库( iText和Apache PDFBox)

作者:五行星辰

这篇文章主要介绍了Java生成PDF文档两个超实用的库,分别是用 iText库以及用Apache PDFBox库生成PDF,文中通过代码介绍的非常详细,需要的朋友可以参考下

前言

在 Java 里实现 PDF 文档生成那可真是个挺有意思的事儿,今儿个就来好好唠唠这个。咱有不少好用的库可以选择,下面就给你详细讲讲其中两个超实用的库,一个是 iText,另一个是 Apache PDFBox。

用 iText 库生成 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.FileNotFoundException;
import java.io.FileOutputStream;

public class ITextPdfGenerator {
    public static void main(String[] args) {
        // 创建 Document 对象,就像准备好一张白纸
        Document document = new Document();
        try {
            // 把这张“白纸”和一个文件输出流关联起来,指定生成的 PDF 文件路径
            PdfWriter.getInstance(document, new FileOutputStream("itext_example.pdf"));
            // 打开这张“白纸”,准备画画
            document.open();
            // 在“白纸”上添加一个段落内容
            document.add(new Paragraph("嘿,这是用 iText 生成的 PDF 文档哦,是不是很神奇!"));
        } catch (DocumentException | FileNotFoundException e) {
            e.printStackTrace();
        } finally {
            // 合上“白纸”,完成 PDF 生成
            if (document.isOpen()) {
                document.close();
            }
        }
    }
}

代码解释及使用说明

Maven 依赖

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

用 Apache PDFBox 库生成 PDF

思路

代码示例

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;

import java.io.IOException;

public class PdfBoxPdfGenerator {
    public static void main(String[] args) {
        // 创建 PDDocument 对象,就像准备一个 PDF 容器
        PDDocument document = new PDDocument();
        try {
            // 创建一个页面,就像准备一张纸
            PDPage page = new PDPage();
            // 把这张纸放到 PDF 容器里
            document.addPage(page);

            // 获取页面内容流,就像拿起笔准备画画
            PDPageContentStream contentStream = new PDPageContentStream(document, page);
            // 设置字体和字号,就像选择画笔的粗细和样式
            contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12);
            // 开始新的一行,准备写字
            contentStream.beginText();
            // 设置文本位置,就像确定在纸上的写字位置
            contentStream.newLineAtOffset(100, 700);
            // 写入文本,在纸上写下内容
            contentStream.showText("嘿,这是用 Apache PDFBox 生成的 PDF 文档,很酷吧!");
            // 结束文本操作,写完了
            contentStream.endText();
            // 把笔放下,关闭内容流
            contentStream.close();

            // 保存这个 PDF 文档
            document.save("pdfbox_example.pdf");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // 把 PDF 容器关上,完成操作
            try {
                if (document != null) {
                    document.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

代码解释及使用说明

Maven 依赖

<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>2.0.24</version>
</dependency>

嘿,朋友,这下你知道怎么用 Java 生成 PDF 文档了吧!这两个库都挺好用的,你可以根据自己的需求选择哦。赶紧动手试试吧!

总结

到此这篇关于Java生成PDF文档的文章就介绍到这了,更多相关Java生成PDF文档内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文