java中word轻量转pdf(无损格式)
pom文件
<dependency>
<groupId>com.luhuiguo</groupId>
<artifactId>aspose-words</artifactId>
<version>23.1</version>
</dependency>
代码
public static void doc2pdf(String fontsDirPath, InputStream inputStream, OutputStream outputStream) {
try {
long old = System.currentTimeMillis();
String dir;
if (StringUtils.isBlank(fontsDirPath) || fontsDirPath.equals("${dir.fonts}")){
dir = "/usr/share/fonts";
} else {
dir = fontsDirPath;
}
LoadOptions lo = new LoadOptions();
lo.getLanguagePreferences().setDefaultEditingLanguage(EditingLanguage.CHINESE_PRC);
FontSettings.getDefaultInstance().setFontsFolders(new String[]{dir,"/usr/share/fonts/chinese"},true);
Document doc = new Document(inputStream, lo);
doc.save(outputStream, SaveFormat.PDF);
long now = System.currentTimeMillis();
System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒");
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("pdf转换失败");
} finally {
try {
outputStream.close();
inputStream.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}