Java将word、excel文件转成pdf文件

简介: 【5月更文挑战第26天】Java将word、excel文件转成pdf文件

要在Java中将Word和Excel文件转换为PDF,你可以使用一些开源库来实现这个目标。以下是使用Apache POI和Apache PDFBox库的一些示例代码:

将Word文档转为PDF:

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;

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

public class WordToPdfConverter {
   
    public static void main(String[] args) {
   
        try {
   
            // Load the Word document
            FileInputStream fis = new FileInputStream("input.docx");
            XWPFDocument document = new XWPFDocument(fis);

            // Create PDF document
            PDDocument pdfDocument = new PDDocument();
            PDPage page = new PDPage();
            pdfDocument.addPage(page);

            // Write Word content to PDF
            PDPageContentStream contentStream = new PDPageContentStream(pdfDocument, page);
            for (XWPFParagraph paragraph : document.getParagraphs()) {
   
                for (XWPFRun run : paragraph.getRuns()) {
   
                    contentStream.beginText();
                    contentStream.newLineAtOffset(100, 700); // Adjust coordinates as needed
                    contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12);
                    contentStream.showText(run.getText(0));
                    contentStream.endText();
                }
            }
            contentStream.close();

            // Save the PDF document
            FileOutputStream fos = new FileOutputStream("output.pdf");
            pdfDocument.save(fos);
            pdfDocument.close();
            fis.close();
            fos.close();

            System.out.println("Word to PDF conversion successful.");
        } catch (IOException e) {
   
            e.printStackTrace();
        }
    }
}

将Excel文档转为PDF:

import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;

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

public class ExcelToPdfConverter {
   
    public static void main(String[] args) {
   
        try {
   
            // Load the Excel document
            FileInputStream fis = new FileInputStream("input.xlsx");
            XSSFWorkbook workbook = new XSSFWorkbook(fis);

            // Create PDF document
            PDDocument pdfDocument = new PDDocument();
            PDPage page = new PDPage();
            pdfDocument.addPage(page);

            // Write Excel content to PDF
            PDPageContentStream contentStream = new PDPageContentStream(pdfDocument, page);
            // Your logic to extract and write Excel content to PDF

            contentStream.close();

            // Save the PDF document
            FileOutputStream fos = new FileOutputStream("output.pdf");
            pdfDocument.save(fos);
            pdfDocument.close();
            fis.close();
            fos.close();

            System.out.println("Excel to PDF conversion successful.");
        } catch (IOException e) {
   
            e.printStackTrace();
        }
    }
}

请注意,以上代码只是基本示例,具体的转换逻辑需要根据文档的结构和内容进行调整。

目录
相关文章
|
7月前
|
XML 人工智能 Java
java实现PDF 电子签章
本文介绍了使用Java将Word文档转换为PDF并添加水印、签名和盖章的方法。通过Apache POI读取Word内容,结合OpenPDF生成PDF文件,并利用PdfPageEvent接口实现页面水印与签名功能。代码示例清晰展示了转换流程及关键实现细节。
505 0
|
7月前
|
C#
【PDF提取内容改名】批量提取PDF指定区域内容重命名PDF文件,PDF自动提取内容命名的方案和详细步骤
本工具可批量提取PDF中的合同编号、日期、发票号等关键信息,支持PDF自定义区域提取并自动重命名文件,适用于合同管理、发票处理、文档归档和数据录入场景。基于iTextSharp库实现,提供完整代码示例与百度、腾讯网盘下载链接,助力高效处理PDF文档。
899 40
|
5月前
|
小程序
公众号如何添加附传Word、Excel、Pdf、PPT文档
公众号里添加一些文档给公众号粉丝下载,比如课件PPT、申请表Word文档、岗位需求Excel表、大赛入围/获奖名单等。公众号本身是不支持直接上传文件的,但我们可以通过附件小程序“间接”上传文件。
798 0
|
7月前
|
编译器 Python
如何利用Python批量重命名PDF文件
本文介绍了如何使用Python提取PDF内容并用于文件重命名。通过安装Python环境、PyCharm编译器及Jupyter Notebook,结合tabula库实现PDF数据读取与处理,并提供代码示例与参考文献。
|
7月前
|
Python
Excel中如何批量重命名工作表与将每个工作表导出到单独Excel文件
本文介绍了如何在Excel中使用VBA批量重命名工作表、根据单元格内容修改颜色,以及将工作表导出为独立文件的方法。同时提供了Python实现导出工作表的代码示例,适用于自动化处理Excel文档。
|
8月前
|
存储 安全 算法
Java 集合面试题 PDF 下载及高频考点解析
本文围绕Java集合面试题展开,详细解析了集合框架的基本概念、常见集合类的特点与应用场景。内容涵盖`ArrayList`与`LinkedList`的区别、`HashSet`与`TreeSet`的对比、`HashMap`与`ConcurrentHashMap`的线程安全性分析等。通过技术方案与应用实例,帮助读者深入理解集合类的特性和使用场景,提升解决实际开发问题的能力。文末附带资源链接,供进一步学习参考。
199 4
|
9月前
|
人工智能 算法 安全
使用CodeBuddy实现批量转换PPT、Excel、Word为PDF文件工具
通过 CodeBuddy 实现本地批量转换工具,让复杂的文档处理需求转化为 “需求描述→代码生成→一键运行” 的极简流程,真正实现 “技术为效率服务” 的目标。感兴趣的快来体验下把
496 10
|
8月前
|
数据采集 存储 API
Python爬虫结合API接口批量获取PDF文件
Python爬虫结合API接口批量获取PDF文件
|
10月前
|
存储 JSON API
如何将 Swagger 文档导出为 PDF 文件
你会发现自己可能需要将 Swagger 文档导出为 PDF 或文件,以便于共享和存档。在这篇博文中,我们将指导你完成将 Swagger 文档导出为 PDF 格式的过程。