当前位置: 首页 > news >正文

免费网站建设塔山双喜wordpress设置视频宽度

免费网站建设塔山双喜,wordpress设置视频宽度,石材做网站,深圳做网站行业描述 环境&#xff1a;docker 部署工具&#xff1a;Jenkins 需求&#xff1a;本地上传的word文档需要转换成pdf 问题&#xff1a;转换之后的pdf文档出现小框框&#xff08;乱码&#xff09; 转换成PDF的操作 pom&#xff1a; <dependency><groupId>org.apach…

描述

环境:docker

部署工具:Jenkins

需求:本地上传的word文档需要转换成pdf

问题:转换之后的pdf文档出现小框框(乱码)

转换成PDF的操作

pom:

        <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.10.1</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-scratchpad</artifactId><version>3.10.1</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.10.1</version></dependency><dependency><groupId>fr.opensagres.xdocreport</groupId><artifactId>org.apache.poi.xwpf.converter.core</artifactId><version>1.0.6</version></dependency><dependency><groupId>fr.opensagres.xdocreport</groupId><artifactId>org.apache.poi.xwpf.converter.pdf</artifactId><version>1.0.6</version></dependency><dependency><groupId>fr.opensagres.xdocreport</groupId><artifactId>fr.opensagres.xdocreport.itext.extension</artifactId><version>2.0.1</version></dependency><dependency><groupId>com.luhuiguo</groupId><artifactId>aspose-words</artifactId><version>23.1</version></dependency>

License:

在resources文件夹下新增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>

Java代码:

import com.aspose.words.*;
import org.apache.poi.xwpf.converter.pdf.PdfConverter;
import org.apache.poi.xwpf.converter.pdf.PdfOptions;
import org.apache.poi.xwpf.usermodel.XWPFDocument;import java.io.*;
import java.util.Objects;/*** word转pdf* @author Dr.Monster*/
public class Word2PdfUtil {public static void word2PdfPoi(String docFile,String pdfFile) {try{XWPFDocument document;InputStream doc = new FileInputStream(docFile);document = new XWPFDocument(doc);PdfOptions options = PdfOptions.create();OutputStream out = new FileOutputStream(pdfFile);PdfConverter.getInstance().convert(document, out, options);doc.close();out.close();}catch (Exception e){}}/*** 获取 license 去除水印* 若不验证则转化出的pdf文档会有水印产生*/private static void getLicense() {String licenseFilePath = "word-license.xml";try {InputStream is = Word2PdfUtil.class.getClassLoader().getResourceAsStream(licenseFilePath);License license = new License();license.setLicense(Objects.requireNonNull(is));} catch (Exception e) {e.printStackTrace();}}/*** word 转 pdf** @param wordFile word 文件路径* @param pdfFile  生成的 pdf 文件路径*/public static void word2Pdf(String wordFile, String pdfFile) {File file = new File(pdfFile);if (!file.getParentFile().exists()) {file.getParentFile().mkdir();}getLicense();try (FileOutputStream os = new FileOutputStream(new File(pdfFile))) {Document doc = new Document(wordFile);
//            FontSettings.getDefaultInstance().setFontsFolder("/usr/share/fonts/CN/fonts/Fonts" , true);FontSettings.getDefaultInstance().setFontsFolder("/var/fonts" , true);doc.save(os, SaveFormat.PDF);} catch (Exception e) {}}/*** word 转 pdf** @param wordFile word 文件流* @param pdfFile  生成的 pdf 文件流*/public static void word2Pdf(InputStream wordFile, OutputStream pdfFile) {getLicense();try {Document doc = new Document(wordFile);doc.save(pdfFile, SaveFormat.PDF);} catch (Exception e) {}}
}

调用方式:

Word2PdfUtil.word2Pdf("你的word文件路径和文件名" , "你的pdf文件路径和文件名");

出现的问题

word文档可以正常转换,本地文件转换显示正常,但是在服务上转换后,显示乱码,原因是没有对应字体。

解决方案:

1:复制windows上的字体

2:复制到/usr/share/fonts/CN/fonts/Fonts路径下(没有可以自己新增,理论上来说,任何地方都可以)

3:建立与容器与机器的文件映射关系,并在Jenkins中进行配置

-v /usr/share/fonts/CN/fonts/Fonts:/var/fonts

4:在代码中设置字体所在目录

FontSettings.getDefaultInstance().setFontsFolder("/var/fonts" , true);

注意,目录为容器中的挂载目录,不是机器的目录,通过容器中的地址,可以直接访问机器中对应映射关系的地址。

参考资料:

java将word转pdf_java word转pdf poi-CSDN博客

http://www.yayakq.cn/news/935089/

相关文章:

  • 太原网站建设公司大全做网站怎么注册域名
  • 云浮网站建设建站软件免费版下载
  • 扬州公司做网站品牌提升方案
  • 模板网站代码网站解析错误
  • 深圳做公司网站视频网站做板块栏目
  • 东莞网站建设开发福州仿站定制模板建站
  • 网站后台文章栏目网络营销有哪些功能?
  • 谁做视频网站做外贸网站如何
  • 网站建设培训深圳到北京
  • 重庆市建设节能中心网站如何制作微信公众号微商城
  • 中国城乡建中国城乡建设部网站杭州做网站公司
  • 合肥做网站加盟wordpress 换头像
  • 好多职业培训网站是怎么做的美发营销型网站
  • wordpress 下载网站模板网站的流程
  • 网站开发后台能用c语言吗做脚垫版型的网站
  • 个人备案做公司网站wordpress安装 简书
  • 怎么原创视频网站企业关键词优化价格
  • 天河怎样优化网站建设icp备案号怎么查询
  • 保安公司的网站设计比较好的英文网站模板改成中文
  • 上海正规网站建设网站平台建设需求的意见
  • 合肥珍岛公司做网站推广怎么样电子商务网站基本功能
  • 广州建设交易中心网站首页建设应用型网站的意义
  • 佛山新网站建设机构登封网站建设
  • 紫色个人网站模板海报设计说明万能模板
  • 做网站的思路怎么写企业网站建设费用怎么核算
  • 建一个网站大概多少钱承德建设企业网站
  • 有什么做外贸的网站怎么做免费的网站推广
  • 游戏开发难还是网站开发难中国城乡建设局和住建局官网
  • 好的模板网站漳州本地新闻头条
  • 网站每天1万ip能收入多少wordpress 批量导入用户名