java word转pdf

只支持windows平台
jar包放到项目中。dll文件放到jdk/jre/bin目录下。(64位系统)
连接:https://pan.baidu.com/s/1haQ6FHwVlqaYspNBYJ6kVA
提取码8ued

    public static void wToPdfChange(String wordFile,String pdfFile){//wordFile word 的路径  //pdfFile pdf 的路径 
          ActiveXComponent app = null;
          System.out.println("开始转换...");
          // 开始时间
         // long start = System.currentTimeMillis();  
          try {
           // 打开word
           app = new ActiveXComponent("Word.Application");
           // 获得word中所有打开的文档
           Dispatch documents = app.getProperty("Documents").toDispatch();
           System.out.println("打开文件: " + wordFile);
           // 打开文档
           Dispatch document = Dispatch.call(documents, "Open", wordFile, false, true).toDispatch();
           // 如果文件存在的话,不会覆盖,会直接报错,所以我们需要判断文件是否存在
           File target = new File(pdfFile);  
            if (target.exists()) {  
               target.delete();
            }
           System.out.println("另存为: " + pdfFile);
           Dispatch.call(document, "SaveAs", pdfFile, 17);
           // 关闭文档
           Dispatch.call(document, "Close", false);
          }catch(Exception e) {
           System.out.println("转换失败"+e.getMessage());
          }finally {
            // 关闭office
           app.invoke("Quit", 0);
          }
   }
   
   public static void main(String[] args) {
	   wToPdfChange("D:\\123.doc", "D:\\123.pdf");
   }
### 使用 Aspose.Words 实现 Java Word PDF Aspose.Words 是一个功能强大的商业库,支持在 Java 应用程序中读取、写入和Word 文档(包括 `.doc` 和 `.docx` 格式)为多种格式,如 PDF、HTML、XPS 等。该库无需依赖 Microsoft Office,适用于跨平台部署[^1]。 #### Maven 依赖配置 在项目中引入以下 Maven 依赖以使用 Aspose.Words: ```xml <dependency> <groupId>com.aspose</groupId> <artifactId>aspose-words</artifactId> <version>23.7</version> <classifier>jdk17</classifier> </dependency> ``` > 注意:Aspose 是一个商业库,使用前需申请临时或正式许可证,或在构建时忽略警告以使用试用模式。 #### Word PDFJava 实现 以下是一个完整的 Java 方法示例,用于将 `.docx` 或 `.doc` 文件换为 PDF 格式: ```java import com.aspose.words.Document; import com.aspose.words.SaveFormat; import java.io.File; public class WordToPdfConverter { public static void convertWordToPdf(String inputPath, String outputPath) throws Exception { Document doc = new Document(inputPath); doc.save(outputPath, SaveFormat.PDF); } public static void main(String[] args) { try { convertWordToPdf("example.docx", "output.pdf"); System.out.println("换完成"); } catch (Exception e) { e.printStackTrace(); } } } ``` 该方法支持保留原始 Word 文档中的格式、图像、表格以及字体样式,适用于企业级文档换需求[^1]。 #### 使用 Hutool 辅助文件操作 Hutool 是一个轻量级工具库,可用于简化文件读写、Base64 编码等操作。例如,将 Word 文件读取为 Base64 字符串并换为 PDF: ```java import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.Base64; public class FileConversion { public static void main(String[] args) { String base64String = Base64.encode(FileUtil.readFromStream("example.docx")); byte[] decodedBytes = Base64.decode(base64String); File tempWord = File.createTempFile("temp", ".docx"); FileUtil.writeFromStream(new ByteArrayInputStream(decodedBytes), tempWord); WordToPdfConverter.convertWordToPdf(tempWord.getAbsolutePath(), "output.pdf"); } } ``` 这种方式适用于从网络传输或数据库中读取 Word 文件并换为 PDF 的场景。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值