java word转pdf 在linux转pdf乱码解决方法

word转pdf

word转pdf,完美转换

引入依赖 (maven仓库是没有的,需要在项目中引用)
链接: 下载地址.
java word转pdf 在linux转pdf乱码解决方法_第1张图片
然后在pom里面引入下面这段,依赖我们就搭建好了

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

resource下添加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>

代码

package com.zylc.bixiang.business.order.domain.example;
 
import com.aspose.words.Document;
import com.aspose.words.License;
import com.aspose.words.SaveFormat;
import org.springframework.core.io.ClassPathResource;
 
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
 
public class wordTest {
    private static boolean license = false;
 
    public String wordToPdf() throws Exception {
        FileOutputStream os = null;
        try {
            //凭证 不然切换后有水印
            InputStream is = new ClassPathResource("/license.xml").getInputStream();
            License aposeLic = new License();
            aposeLic.setLicense(is);
            license = true;
            if (!license) {
                System.out.println("License验证不通过...");
                return null;
            }
            //生成一个空的PDF文件
            File file = new File("D:\\a.pdf");
            os = new FileOutputStream(file);
            //要转换的word文件
            Document doc = new Document("D:\\aa.word");
            doc.save(os, SaveFormat.PDF);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (os != null) {
                try {
                    os.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
 
    }
}

linux转pdf乱码解决方法

1、然后把用到的字体包从windows的C:\Windows\Fonts里所有文件,复制到linux的/usr/share/fonts/windows下。
2、代码里加:

 OsInfo osInfo = SystemUtil.getOsInfo();
        if(osInfo.isLinux()){
            FontSettings.setFontsFolder("/usr/share/fonts/windows"+File.separator, true);
        }

你可能感兴趣的:(java,java,word,pdf)