• Java实现word转pdf


    1.依赖引入

    word转pdf需要 com.aspose 包,由于这个包不是在阿里云仓库公开的,我们不能直接通过maven下载,我们需要手动进行下载安装

    可以从如下网盘进行下载该jar包

    链接:https://pan.baidu.com/s/1axuvPzf7mOBG4kbddFegdQ
    提取码:t70t

    依赖下载下来后,我们需要手动进行依赖的安装,首先确保maven环境变量已配置好

    1)配置MAVEN_HOME。在系统变量中新建,变量名MAVEN_HOME,变量值,maven文件夹路径;

    2)配置path,找到path系统变量,点开,新建,输入%MAVEN_HOME%in

     

    安装依赖

    将依赖移动到D盘下,然后cmd切换到D盘目录,执行如下指令即可完成安装,

    mvn install:install-file -DgroupId=com.aspose -DartifactId=aspose-words -Dversion=15.8.0 -Dpackaging=jar -Dfile=aspose-words-15.8.0-jdk16.jar
    

    最后在pom.xml中将依赖进行引入即可

            <dependency>
                <groupId>com.aspose</groupId>
                <artifactId>aspose-words</artifactId>
                <version>15.8.0</version>
            </dependency>

    2.添加配置文件

    在resource目录下添加,license.xml配置文件

    <?xml version="1.0" encoding="UTF-8" ?>
    <License>
        <Data>
            <Products>
                <Product>Aspose.Total for Java</Product>
                <Product>Aspose.Words for Java</Product>
            </Products>
            <EditionType>Enterprise</EditionType>
            <SubscriptionExpiry>20991231</SubscriptionExpiry>
            <LicenseExpiry>20991231</LicenseExpiry>
            <SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber>
        </Data>
        <Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature>
    </License>

    3.编写工具类实现转换

    package com.kw.vehicle.controller;
    
    import com.aspose.words.Document;
    import com.aspose.words.License;
    import com.aspose.words.SaveFormat;
    import org.springframework.core.io.ClassPathResource;
    import org.springframework.core.io.Resource;
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    
    public class Word2PdfAsposeUtil {
    
    
        public static boolean getLicense() {
            boolean result = false;
            InputStream is = null;
            try {
                Resource resource = new ClassPathResource("license.xml");
                is = resource.getInputStream();
                License aposeLic = new License();
                aposeLic.setLicense(is);
                result = true;
            } catch (Exception e) {
                e.printStackTrace();
            }finally {
                if (is != null) {
                    try {
                        is.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
            return result;
        }
    
        public static boolean doc2pdf(String inPath, String outPath) {
            if (!getLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生
                return false;
            }
            FileOutputStream os = null;
            try {
                long old = System.currentTimeMillis();
                File file = new File(outPath); // 新建一个空白pdf文档
                os = new FileOutputStream(file);
                Document doc = new Document(inPath); // Address是将要被转化的word文档
                doc.save(os, SaveFormat.PDF);// 全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF,
                // EPUB, XPS, SWF 相互转换
                long now = System.currentTimeMillis();
                System.out.println("pdf转换成功,共耗时:" + ((now - old) / 1000.0) + "秒"); // 转化用时
            } catch (Exception e) {
                e.printStackTrace();
                return false;
            }finally {
                if (os != null) {
                    try {
                        os.flush();
                        os.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
            return true;
        }
    
        public static void main(String[] arg){
            String docPath = "C:\Users\DELL\Desktop\接口文档\骑行信息数据说明.doc";
            String pdfPath = "C:\Users\DELL\Desktop\接口文档\骑行信息数据说明.pdf";
            Word2PdfAsposeUtil.doc2pdf(docPath,pdfPath);
        }
    }

    4.测试

    执行main方法即可实现转换成功

     

    一点点学习,一丝丝进步。不懈怠,才不会被时代所淘汰!

  • 相关阅读:
    thinkphp5自定义sql排序
    php版雪花算法生产唯一ID 分库分表专用
    java和php保持一致的md5加密
    rabbitmq新版本使用
    pentaho-kettle+eclipse 搭建本地源码
    《我们好像在哪见过》
    《邂逅》-----徐志摩
    Oracle数据库查询和取出表中重复记录
    Kettle提取数据,数据库中文字符乱码问题
    kettle报错收集- java.sql.SQLException: Streaming result set com.mysql.jdbc.RowDataDynamic@160750a6 is still active
  • 原文地址:https://www.cnblogs.com/fqh2020/p/15524823.html
Copyright © 2020-2023  润新知