• JAVA使用aspose实现word文档转pdf文件


    引入jar包

    下载地址:https://yvioo.lanzous.com/iezpdno3mob

    然后打开下载的目录打开cmd执行

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

    这是把jar包安装到本地仓库中

    这样在pom文件里引入

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

    当然也可以直接使用jar包 

    然后在项目根目录中创建一个文件(SpringBoot项目直接在resources下)

    license.xml  

    <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>

    使用工具类

    AsposeUtil.java

    import com.aspose.words.Document;
    import com.aspose.words.License;
    import com.aspose.words.SaveFormat;
    
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    
    /**
     * @author yvioo。
     */
    
    public class AsposeUtil {
    
        /**
         * 验证License 若不验证则转化出的pdf文档会有水印产生
         * @return
         */
        public  boolean getLicense() {
            boolean result = false;
            try {
                InputStream is =this.getClass().getClassLoader().getResourceAsStream("license.xml");
                License aposeLic = new License();
                aposeLic.setLicense(is);
                result = true;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return result;
        }
    
        public static void main(String[] args) throws Exception {
            AsposeUtil bean = new AsposeUtil();
            bean.word2Pdf2("C:\1.docx","D:\TEST.pdf");
        }
    
        /**
         * word转pdf
         * inpath: 输入word的路径
         * outpath: 输出pdf的路径
         */
        public  void word2Pdf2(String inpath,String outpath) throws Exception {
            if (!getLicense()) {
                System.out.println("非法------------");
                return;
            }
    
            long old = System.currentTimeMillis();
            File file = new File(outpath);
    
            FileOutputStream os = new FileOutputStream(file);
    
            //解决乱码
            //如果是windows执行,不需要加这个
            //TODO 如果是linux执行,需要添加这个*****
            //FontSettings.setFontsFolder("/usr/share/fonts",true);
    
            Document doc = new Document(inpath);
    
            //全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF, EPUB, XPS, SWF 相互转换
            doc.save(os, SaveFormat.PDF);
            long now = System.currentTimeMillis();
            System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒");
        }
    
    
        /**
         * word转pdf
         * @param path      pdf输出路径
         * @param wordInput word输入流
         * @param wordName  word文档的名称
         */
        public  void word2pdf(String path, InputStream wordInput, String wordName) throws FileNotFoundException {
            if (!getLicense()) {
                System.out.println("非法");
                return;
            }
    
            //新建一个空白pdf文档
            long old = System.currentTimeMillis();
            File file = new File(path + wordName + ".pdf");
            FileOutputStream os = new FileOutputStream(file);
    
            //Address是将要被转化的word文档
            Document doc = null;
            try {
                doc = new Document(wordInput);
            } catch (Exception e) {
                e.printStackTrace();
            }
            try {
                //全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF, EPUB, XPS, SWF 相互转换
                doc.save(os, SaveFormat.PDF);
            } catch (Exception e) {
                e.printStackTrace();
            }
            long now = System.currentTimeMillis();
            //转化用时
            System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒");
        }
    }
    -----------------------有任何问题可以在评论区评论,也可以私信我,我看到的话会进行回复,欢迎大家指教------------------------ (蓝奏云官网有些地址失效了,需要把请求地址lanzous改成lanzoux才可以)
  • 相关阅读:
    我们为什么要使用Spring Cloud?简介
    Spring注解@Component、@Repository、@Service、@Controller区别
    Spring boot 各种入门及问题
    spring boot与spring mvc的区别是什么?
    Android http Request / Response ContentType
    Android Studio添加aar
    Android 自定义线程池的实战
    Android AsyncTask 深度理解、简单封装、任务队列分析、自定义线程池
    EditText 显示明文和密码
    Android log 管理工具
  • 原文地址:https://www.cnblogs.com/pxblog/p/14617688.html
Copyright © 2020-2023  润新知