Word、Excel、Ppt转成PDF文件,Java代码和小小的demo

 

首先是word转pdf,这个是可行的,没有水印,没有

Evaluation Only. Created with Aspose.Words. Copyright 2003-2011 Aspose Pty Ltd这段文字,可以用的,后面我会给你们贴图,把那个license.xml文件放到同个包下面就可以了,如图所示:

如果是spring boot Web项目,就放到resources里面,同样如图所示:

当然本文教程主要是一般的java项目,所以根据图一结构放置,直接放在同个包下就好了

WordToPDF.java

import com.aspose.words.License;
import com.aspose.words.SaveFormat;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;

public class WordToPDF {

    public static boolean getLicense() {
        boolean result = false;
        try {
            InputStream is = WordToPDF.class.getClassLoader().getResourceAsStream("\\license.xml");
            License aposeLic = new License();
            aposeLic.setLicense(is);
            result = true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }

    public static void word2pdf(String docPath, String pdfPath) {
        if (!getLicense()) {
            return;
        }
        try {
            long old = System.currentTimeMillis();

            com.aspose.words.Document document = new com.aspose.words.Document(docPath);
            document.save(new FileOutputStream(new File(pdfPath)), SaveFormat.PDF);

            long now = System.currentTimeMillis();
            System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}


ExcelToPDF.java

import com.aspose.cells.License;
import com.aspose.cells.SaveFormat;
import com.aspose.cells.Workbook;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;

public class ExcelToPDF {

    public static boolean getLicense() {
        boolean result = false;
        try {
            InputStream is = ExcelToPDF.class.getClassLoader().getResourceAsStream("\\license.xml");
            License aposeLic = new License();
            aposeLic.setLicense(is);
            result = true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }

    public static void excel2pdf(String xlsPath, String pdfPath){
        if (!getLicense()) {
            return;
        }
        try {
            long old = System.currentTimeMillis();

            Workbook wb = new Workbook(xlsPath);// 原始excel路径
            wb.save(new FileOutputStream(new File(pdfPath)),SaveFormat.PDF);

            long now = System.currentTimeMillis();
            System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

PptToPDF.java

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import com.aspose.slides.License;
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;

public class PptToPDF {

    public static boolean getLicense() {
        boolean result = false;
        try {
            InputStream is = PptToPDF.class.getClassLoader().getResourceAsStream("\\license.xml");
            License aposeLic = new License();
            aposeLic.setLicense(is);
            result = true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }

    public static void ppt2pdf(String pptPath, String pdfPath){
        if (!getLicense()) {
            return;
        }
        try {
            long old = System.currentTimeMillis();

            Presentation pres = new Presentation(pptPath);
            pres.save(new FileOutputStream(new File(pdfPath)),SaveFormat.Pdf);

            long now = System.currentTimeMillis();
            System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

里面三种转换格式分别对应三个jar包,所以我用了三个类来封装,简单封装了一下,稍后我会把三个jar包都传上去吧,单独word转pdf的jar包链接:word转pdf的jar包下载点击此处,三个jar包和小demo一起下载链接全套demo下载,无水印,在我的资源里面都有的

下面是证据图片

转换后

不过excel在列比较多的时候,会分成两页,很丑,所以excel列最好不要太多,不然丑得不行

 

打赏二维码,多谢支持

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
使用iText库可以将本地的Word文件换为PDF。首先,你需要准备好iText库的依赖。然后,你可以使用以下代码来实现换: ```java import com.itextpdf.text.Document; import com.itextpdf.text.pdf.PdfWriter; import com.itextpdf.text.Paragraph; import java.io.FileInputStream; import java.io.FileOutputStream; public class WordToPdfConverter { public static void main(String\[\] args) { try { // 读取Word文件 FileInputStream fis = new FileInputStream("path/to/word.docx"); // 创建PDF文件 Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("path/to/output.pdf")); document.open(); // 将Word文件内容写入PDF document.add(new Paragraph("Hello, World!")); // 关闭文件流 document.close(); writer.close(); fis.close(); System.out.println("Word文件换为PDF成功!"); } catch (Exception e) { e.printStackTrace(); } } } ``` 请注意,上述代码只是一个简单的示例,你需要根据实际情况进行修改。你需要将"path/to/word.docx"替换为你的本地Word文件的路径,将"path/to/output.pdf"替换为你希望生成的PDF文件的路径。你还可以根据需要添加更多的内容到PDF文件中。 希望这个例子能帮到你! #### 引用[.reference_title] - *1* *3* [java使用poi、itextpdfwordpptpdf文件,并对pdf文件加盖签章](https://blog.csdn.net/m0_67394002/article/details/126032678)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Java实现PDF生成(Word文档Pdf)](https://blog.csdn.net/zxy855/article/details/122495989)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值