Aspose-words docx文档转Pdf或图片

1 篇文章 0 订阅

1.添加依赖:

    <!--aspose-words-->
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-words-jdk16</artifactId>
        <version>15.8.0</version>
        <scope>system</scope>
        <systemPath>${basedir}/src/main/resources/lib/aspose-words-15.8.0-jdk16.jar</systemPath>
    </dependency>

2.项目引用相关jar包:

3.添加许可证,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>

4.使用

package com.lxj.test.word;

import com.aspose.words.Document;
import com.aspose.words.License;
import com.aspose.words.SaveFormat;
import lombok.SneakyThrows;

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

/**
 * word 转pdf
 */
public class AsposeUtil {
    /**
     * pdf 后缀
     */
    private static final String PDF_SUFFIX = ".pdf";

    /**
     * 加载license 用于破解 不生成水印
     */
    @SneakyThrows
    private static void getLicense() {
        InputStream is = AsposeUtil.class.getClassLoader().getResourceAsStream("License.xml");
        License license = new License();
        license.setLicense(is);
    }

    /**
     * word转pdf
     *
     * @param wordPath word文件保存的路径
     * @param pdfPath  转换后pdf文件保存的路径
     */
    @SneakyThrows
    public static void wordToPdf(String wordPath, String pdfPath) {
        if (!new File(wordPath).exists()) {
            return;
        }
        // 去掉水印
        getLicense();
        File file = new File(pdfPath);
        if (!file.getParentFile().exists()) {
            file.getParentFile().mkdir();
        }
        FileOutputStream os = new FileOutputStream(file);
        Document doc = new Document(wordPath);
        doc.save(os, SaveFormat.PDF);
    }

    /**
     * word 转 pdf
     * @param wordPath 文件路径
     */
    @SneakyThrows
    public static void wordToPdf(String wordPath) {
        getLicense();
        File file = new File(wordPath);
        if (!file.exists()) {
            return;
        }
        // 生成 pdf 文件路径
        String pdf = file.getPath().substring(0, file.getPath().lastIndexOf(".")) + PDF_SUFFIX;
        FileOutputStream os = new FileOutputStream(pdf);
        Document doc = new Document(wordPath);
        doc.save(os, SaveFormat.PDF);
    }


}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值