JAVA如何实现word转pdf呢?

欣喜 Java经验 发布时间:2024-01-26 09:59:21 阅读数:4312 1
下文笔者讲述使用java代码将word转pdf的方法及示例分享,如下所示
word转pdf的实现思路
    借助  Apache POI 和 iText 
    即可实现读取word和输出pdf的效果 

当然我们在转换的同时,可以对word中的内容进行修改
    然后再输出pdf    
例:word转pdf的示例
   <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>5.0.0</version>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>itextpdf</artifactId>
        <version>5.5.13</version>
    </dependency>

import org.apache.poi.ss.usermodel.*;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.pdfdocument;
import com.itextpdf.kernel.pdf.pageeventHandlers.PageEventHandler;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.borders.Border;
import com.itextpdf.layout.element.Cell;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Table;
import com.itextpdf.layout.font.FontFactory;
import com.itextpdf.layout.property.TextAlignment;

import java.io.FileOutputStream;
import java.io.IOException;

public class WordToPdfConverter {

    public static void main(String[] args) {
        // 输入的 Word 文件路径
        String wordDocumentPath = "/test/test.docx";

        // 输出的 PDF 文件路径
        String pdfOutputPath = "/test/test.pdf";

        // 调用转换方法
        convertWordToPdf(wordDocumentPath, pdfOutputPath);
    }

    public static void convertWordToPdf(String wordDocumentPath, String pdfOutputPath) {
        try {
            // 读取 Word 文档
            Workbook workbook = WorkbookFactory.create(wordDocumentPath);

            // 获取第一个工作表
            Sheet sheet = workbook.getSheetAt(0);

            // 创建 PDF 文档对象
            PdfWriter writer = new PdfWriter(pdfOutputPath);
            PdfDocument pdfDocument = new PdfDocument(writer);
            Document document = new Document(pdfDocument);

            // 设置页面大小为 A4 纸大小
            document.setPageSize(PageSize.A4);

            // 遍历工作表的行和列,将内容转换为 PDF
            for (Row row : sheet) {
                for (Cell cell : row) {
                    Paragraph paragraph = new Paragraph(cell.getStringCellValue());
                    document.add(paragraph);
                }
            }

            // 关闭 PDF 文档
            pdfDocument.close();

            // 输出转换成功的提示信息
            System.out.println("Word 转 PDF 成功!");
        } catch (IOException e) {
            // 输出异常信息
            System.out.println("转换失败:" + e.getMessage());
        }
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202401/17062343987791.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者