aspose-words word转pdf 服务器不需要重启

2024-02-07 12:48

本文主要是介绍aspose-words word转pdf 服务器不需要重启,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章综合了其他网友的方法,方便观看,后面附有链接

用到的jar aspose-words-15.8.0-jdk16.jar
服务器字体设置:

 
yum install -y fontconfig mkfontscale
cd /usr/share/fonts目录
把windows机器中 C:\Windows\Fonts里面的内容,全部拷贝到linux的上述目录(/usr/share/fonts中)
mkfontscale
mkfontdir
fc-cache服务器不需要重启,但是安装完新字体需要执行
mkfontscale
mkfontdir
fc-cache
服务器字体目录图:

服务器字体目录

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>

pom.xml打包

<resource><directory>src/main/resources</directory><filtering>true</filtering><excludes><exclude>font/*.ttf</exclude><exclude>font/*.woff</exclude></excludes></resource><resource><directory>src/main/resources</directory><filtering>false</filtering><includes><include>font/*.ttf</include><include>font/*.woff</include></includes></resource></resources><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><configuration><nonFilteredFileExtensions><nonFilteredFileExtension>ttf</nonFilteredFileExtension><nonFilteredFileExtension>woff</nonFilteredFileExtension><nonFilteredFileExtension>woff2</nonFilteredFileExtension></nonFilteredFileExtensions></configuration><version>3.2.0</version></plugin>

代码(适当自行修改):

  public static boolean doc2pdf(String inPath, String outPath) {// 验证License 若不验证则转化出的pdf文档会有水印产生if (!getLicense()) {return false;}FileOutputStream os = null;try {//把项目下的字体拷贝到服务器字体目录下ClassPathResource resource = new ClassPathResource("font" + File.separator + "msyh.ttf");InputStream is = resource.getInputStream();String linuxFontBasePath = "/usr/share/fonts";File fontFile = new File(linuxFontBasePath + File.separator + "msyh.ttf");if (!fontFile.exists()) {FileCopyUtils.copy(FileCopyUtils.copyToByteArray(is),fontFile);}File file = new File(outPath);  //新建一个空白pdf文档os = new FileOutputStream(file);long old = System.currentTimeMillis();Document doc = new Document(inPath);Environment environment = SpringContextUtil.getBean(Environment.class);String[] activeProfiles = environment.getActiveProfiles();//非开发环境则拷贝字体到服务器系统字体目录中if (null != activeProfiles && !"local".equals(activeProfiles[0])) {FontSettings.setFontsFolder(linuxFontBasePath + File.separator, true);}//sourcerFile是将要被转化的word文档doc.save(os, SaveFormat.PDF);os.close();long now = System.currentTimeMillis();System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒");  //转化用时} catch (Exception e) {e.printStackTrace();return false;}finally {if (os != null) {try {os.flush();os.close();} catch (IOException e) {e.printStackTrace();}}}return true;}

参考地址:

地址一:https://blog.csdn.net/somdip/article/details/100098976
地址二:https://blog.csdn.net/somdip/article/details/100098976
地址三:https://blog.csdn.net/somdip/article/details/100098976

这篇关于aspose-words word转pdf 服务器不需要重启的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/687779

相关文章

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统

nginx配置多域名共用服务器80端口

《nginx配置多域名共用服务器80端口》本文主要介绍了配置Nginx.conf文件,使得同一台服务器上的服务程序能够根据域名分发到相应的端口进行处理,从而实现用户通过abc.com或xyz.com直... 多个域名,比如两个域名,这两个域名其实共用一台服务器(意味着域名解析到同一个IP),一个域名为abc

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

Python进行PDF文件拆分的示例详解

《Python进行PDF文件拆分的示例详解》在日常生活中,我们常常会遇到大型的PDF文件,难以发送,将PDF拆分成多个小文件是一个实用的解决方案,下面我们就来看看如何使用Python实现PDF文件拆分... 目录使用工具将PDF按页数拆分将PDF的每一页拆分为单独的文件将PDF按指定页数拆分根据页码范围拆分

MySQL 中的服务器配置和状态详解(MySQL Server Configuration and Status)

《MySQL中的服务器配置和状态详解(MySQLServerConfigurationandStatus)》MySQL服务器配置和状态设置包括服务器选项、系统变量和状态变量三个方面,可以通过... 目录mysql 之服务器配置和状态1 MySQL 架构和性能优化1.1 服务器配置和状态1.1.1 服务器选项

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形