潜江公司做网站,深圳网络推广有几种方法,如何进入wordpress数据库,无锡网站制作联系电话【aspose-words-22.12-jdk17.jar】word文档转pdf 前置工作1、下载依赖2、安装依赖到本地仓库 项目1、配置pom.xml2、配置许可码文件#xff08;不配置会有水印#xff09;3、工具类4、效果 踩坑1、pdf乱码2、word中带有图片转换 前置工作
1、下载依赖
通过百度网盘分享的文… 【aspose-words-22.12-jdk17.jar】word文档转pdf 前置工作1、下载依赖2、安装依赖到本地仓库 项目1、配置pom.xml2、配置许可码文件不配置会有水印3、工具类4、效果 踩坑1、pdf乱码2、word中带有图片转换 前置工作
1、下载依赖
通过百度网盘分享的文件aspose-words-22.12-jdk17.jar 链接https://pan.baidu.com/s/137_fNgHCKSSEqcavWGehtA?pwd2xoe 提取码2xoe
2、安装依赖到本地仓库
xxxxxxxxxx jar下载之后的目录 mvn install:install-file -DgroupIdcom.aspose -DartifactIdaspose-words -Dversion15.8.0 -Dpackagingjar -DfileF:\java\xxxxxxxxxx\aspose-words-15.8.0-jdk16.jar项目
1、配置pom.xml !-- word转pdf --dependencygroupIdcom.aspose/groupIdartifactIdaspose-words/artifactIdversion15.8.0/version/dependency2、配置许可码文件不配置会有水印
在resource路径下配置license.xml文件 ?xml version1.0 encodingUTF-8 ?
License
DataProductsProductAspose.Total for Java/ProductProductAspose.Words for Java/Product/ProductsEditionTypeEnterprise/EditionTypeSubscriptionExpiry20991231/SubscriptionExpiryLicenseExpiry20991231/LicenseExpirySerialNumber8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7/SerialNumber
/Data
SignaturesNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppod0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU/Signature
/License 3、工具类
package xxx.xxx.xx;import com.aspose.words.Document;
import com.aspose.words.License;
import com.aspose.words.SaveFormat;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.modules.online.config.exception.BusinessException;import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.InputStream;/*** 使用Aspose将Word转换为PDF的工具类* 注意需要在resource路径下配置license.xml文件*/
Slf4j
public class Word2PdfUtil {public static void main(String[] args) {String inputPath F:\\opt\\upFiles\\2024-07-24\\2024072411362566_1721792185072.docx;String outputPath C:\\Users\\123\\Desktop\\1\\667\\bbb.pdf;try {doc2pdf(inputPath, outputPath);} catch (BusinessException e) {e.printStackTrace();}}/*** 将Word文档转换为PDF** param inPath 输入的Word文件路径* param outPath 输出的PDF文件路径*/public static void doc2pdf(String inPath, String outPath) throws BusinessException {// 如果未获取到许可证则抛出业务异常if (!getLicense()) {throw new BusinessException(未配置许可证!);}try (FileOutputStream os new FileOutputStream(outPath)) {long startTime System.currentTimeMillis();// 要转换的Word文档Document doc new Document(inPath);// 保存为PDF格式doc.save(os, SaveFormat.PDF);log.info(PDF转换完成耗时{}ms,输出路径:{}, System.currentTimeMillis() - startTime, outPath);} catch (Exception e) {e.printStackTrace();}}public static ByteArrayOutputStream doc2pdfByteArrayOutputStream(InputStream inputStream) {// 如果未获取到许可证则抛出业务异常if (!getLicense()) {throw new JeecgBootException(未配置许可证!);}try {long startTime System.currentTimeMillis();// 要转换的Word文档Document doc new Document(inputStream);ByteArrayOutputStream bao new ByteArrayOutputStream();doc.save(bao, SaveFormat.PDF);log.info(PDF转换完成耗时{}ms, System.currentTimeMillis() - startTime);return bao;} catch (Exception e) {e.printStackTrace();}return null;}/*** 获取Aspose的许可证* 如果未获取则转换的pdf带有水印** return 是否成功获取许可证*/public static boolean getLicense() {boolean result false;// license.xml文件应放在resource路径下try (InputStream is Word2PdfUtil.class.getClassLoader().getResourceAsStream(license.xml);) {License license new License();license.setLicense(is);result true;} catch (Exception e) {e.printStackTrace();}return result;}}
4、效果 踩坑
1、pdf乱码
将win机器的c:\windows\fonts目录下的全部文件拷贝到生产服务器字体安装目录下然后执行以下命令更新字体缓存
# 创建目录将win机器的c:\windows\fonts目录下的全部文件拷贝到此目录下
mkdir mkdir /usr/share/fonts/win
cd /usr/share/fonts
sudo fc-cache -fv
# 执行命令让字体生效
source /etc/profile2、word中带有图片转换 word中如果有jpg格式的图片需要转换格式成 png