当前位置:首页 > Java

java如何转换pdf

2026-03-18 06:34:18Java

使用Apache PDFBox库转换PDF

Apache PDFBox是一个开源的Java库,支持PDF文档的创建、操作和提取内容。以下示例展示如何将文本内容写入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;

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

        PDPageContentStream contentStream = new PDPageContentStream(document, page);
        contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12);
        contentStream.beginText();
        contentStream.newLineAtOffset(100, 700);
        contentStream.showText("Hello PDF");
        contentStream.endText();
        contentStream.close();

        document.save("output.pdf");
        document.close();
    }
}

使用iText库处理PDF

iText是另一个流行的Java PDF处理库,支持高级PDF操作功能。以下是使用iText创建PDF的示例:

java如何转换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 ITextExample {
    public static void main(String[] args) throws Exception {
        PdfWriter writer = new PdfWriter("output.pdf");
        PdfDocument pdf = new PdfDocument(writer);
        Document document = new Document(pdf);

        document.add(new Paragraph("Hello World with iText"));
        document.close();
    }
}

将HTML转换为PDF

使用Flying Saucer库可以将HTML内容渲染为PDF:

java如何转换pdf

import org.xhtmlrenderer.pdf.ITextRenderer;
import java.io.FileOutputStream;

public class HtmlToPdf {
    public static void main(String[] args) throws Exception {
        String html = "<html><body><h1>Hello PDF</h1></body></html>";
        ITextRenderer renderer = new ITextRenderer();
        renderer.setDocumentFromString(html);
        renderer.layout();

        FileOutputStream fos = new FileOutputStream("output.pdf");
        renderer.createPDF(fos);
        fos.close();
    }
}

使用OpenPDF处理PDF

OpenPDF是iText的一个分支,提供类似的PDF处理功能:

import com.lowagie.text.Document;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfWriter;

public class OpenPdfExample {
    public static void main(String[] args) throws Exception {
        Document document = new Document();
        PdfWriter.getInstance(document, new FileOutputStream("output.pdf"));

        document.open();
        document.add(new Paragraph("Hello OpenPDF"));
        document.close();
    }
}

使用JasperReports生成PDF

JasperReports是一个强大的报表生成工具,支持输出为PDF格式:

import net.sf.jasperreports.engine.*;
import java.util.HashMap;

public class JasperReportExample {
    public static void main(String[] args) throws Exception {
        JasperReport jasperReport = JasperCompileManager.compileReport("report.jrxml");
        JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, new HashMap<>(), new JREmptyDataSource());

        JasperExportManager.exportReportToPdfFile(jasperPrint, "output.pdf");
    }
}

每种方法适用于不同场景:PDFBox适合基础PDF操作,iText/OpenPDF适合复杂文档生成,Flying Saucer适合HTML转PDF,JasperReports适合报表生成。选择时应考虑项目需求和许可限制。

标签: javapdf
分享给朋友:

相关文章

vue实现pdf预览

vue实现pdf预览

使用 vue-pdf 库实现 PDF 预览 安装 vue-pdf 库: npm install vue-pdf 在 Vue 组件中引入并使用: <template> <div…

如何使用java

如何使用java

安装Java开发环境 下载并安装Java Development Kit(JDK),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME指向JDK安装路径…

java如何安装

java如何安装

安装Java的步骤 下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK项目页面下载适合操作系统的JDK版本。Oracle JDK适用于商业用途,OpenJDK是开源版本。选择…

如何自学java

如何自学java

选择合适的学习资源 从官方文档开始,Oracle提供的Java官方教程(Java Tutorials)是权威且免费的学习资料。在线平台如Codecademy、Coursera或Udemy提供互动式课程…

java如何输入数据

java如何输入数据

输入数据的方法 在Java中,输入数据可以通过多种方式实现,具体取决于输入来源(如控制台、文件、网络等)。以下是几种常见的方法: 使用Scanner类从控制台输入 Scanner类是Java中最常用…

如何运行java项目

如何运行java项目

运行Java项目的步骤 确保Java环境已安装 在运行Java项目前,需确认系统已安装Java Development Kit(JDK)。通过命令行输入java -version和javac -ver…