• word转pdf(适用于linux)


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

    2、Util
    package com.rhtms.common.utils.word;

    import com.aspose.words.Document;
    import com.aspose.words.FontSettings;
    import com.aspose.words.License;
    import com.aspose.words.SaveFormat;
    import com.rhtms.common.utils.osinfo.OsInfo;
    import org.apache.commons.io.FileUtils;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.core.io.ClassPathResource;
    import org.springframework.core.io.Resource;
    import org.springframework.stereotype.Component;
    import java.io.*;

    @Component
    public class Word2PdfAsposeUtil {

    // 字体路径
    private static String fontspath;

    @Value("${rhtms.fontspath}")
    public void setFontspath(String fontpath){
    fontspath = fontpath;
    }

    public static boolean getLicense() {
    boolean result = false;
    InputStream is = null;
    try {
    Resource resource = new ClassPathResource("license.xml");
    is = resource.getInputStream();
    //InputStream is = Word2PdfAsposeUtil.class.getClassLoader().getResourceAsStream("license.xml"); // license.xml应放在..\WebRoot\WEB-INF\classes路径下
    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);

    //Linux环境下字体位置
    System.out.println("字体路径是:" + fontspath);
    FontSettings.setFontsFolder(fontspath, true);
    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;
    }

    }
  • 相关阅读:
    mysql联合主键自增、主键最大长度小记
    针对list集合进行分页展示
    初识javascript变量和基本数据类型
    12.19如何定义正则表达式
    人民币符号在html的显示方法
    windows下的NodeJS安装
    css 实现未知图片垂直居中
    IE678下placeholder效果,支持文本框和密码框
    jvm004 解析与分派
    jvm003 类加载的过程
  • 原文地址:https://www.cnblogs.com/xlj227/p/16426515.html
Copyright © 2020-2023  润新知