Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >从包装在windows服务中的java jar中使用jodconverter -字体问题

从包装在windows服务中的java jar中使用jodconverter -字体问题
EN

Stack Overflow用户
提问于 2020-11-25 07:34:54
回答 2查看 233关注 0票数 0

我一直在后台服务器上使用jodconverter库将微软Word文档(*.doc)转换成PDF文件。后端是在旧的Windows Server 2008企业版上运行的Spring Boot应用程序。(jodconverter需要在这台机器上安装一个版本的Apache OpenOffice或Libre Office -我在那里安装了OpenOffice 4-简单的默认安装,而不是作为服务运行-我没有看到任何问题)

一个特定的用例是转换包含用Windows机上不存在的特定字体( IDAutomation条形码字体-它是OTF文件)呈现的文本的文档-我认为在服务器上安装该字体将是我继续操作的唯一必要的事情(右键单击字体文件->选择Install -没有其他选项),事情似乎是这样的。

现在,我从命令行启动后端-并考虑使用NSSM将其封装到Windows服务中。我得到了一个很好的工作服务,在本地系统帐户下运行-它似乎工作得很好。

后来有人告诉我,在DOC到PDF的转换过程中,条形码字体不再呈现。事实上,我切换回命令行交互版本,字体再次出现。我知道这显然是我安装该字体的方式的问题,在本地系统帐户下-或其他-字体无法访问,并使用备用字体。

我试图指定在不同的账户下运行该服务--特别是安装字体的那个账户--但这没有帮助。

问题a) -如何安装字体,以使其可以通过本地系统帐户访问?如果我可以避免以本地管理员的身份登录,那就太好了--尽管如果这是唯一的方法,那么我会继续这样做--我已经考虑过这个问题是更适合于服务器故障还是超级用户,但我决定在这里问这个问题,因为我最初的问题似乎是在应用程序编程级别

问题b) -是否有一个日志文件,我可以跟踪实际的错误消息,即找不到正确的字体和使用了替代字体?

谢谢

编辑:我的pom.xml中与JODConverter版本相关的内容

代码语言:javascript
代码运行次数:0
复制
<properties>        
   <jodconverter.version>4.3.0</jodconverter.version>
</properties> 
...
<dependencies>
...
    <dependency>
        <groupId>org.jodconverter</groupId>
        <artifactId>jodconverter-spring-boot-starter</artifactId>
        <version>${jodconverter.version}</version>
    </dependency>
    <dependency>
        <groupId>org.jodconverter</groupId>
        <artifactId>jodconverter-local</artifactId>
        <version>${jodconverter.version}</version>
    </dependency>
</dependencies>
EN

回答 2

Stack Overflow用户

发布于 2020-11-28 15:48:34

也许您可以尝试使用templateProfileDir选项,该选项在jodconverter-spring-boot-starter模块中可用。

我不是LibreOffice本身的专家,但是如果安装的字体是用户配置文件的一部分,我认为使用这个配置文件而不是让LibreOffice创建一个新的配置文件是可行的。

来自this示例(我更改了它的设置方式,因为您使用了spring-boot):

在我的Windows上,在使用图形用户界面设置LibreOffice以满足我的需要(我猜对您来说是安装字体)之后,我将目录C:\Users\myUser\AppData\Roaming\LibreOffice\4复制到C:\JodConverter\templateProfile (作为一个不会更改的模板配置文件目录),并将templateProfileDir设置为这个副本(在application.yml文件中):

代码语言:javascript
代码运行次数:0
复制
jodconverter:
  local:
    enabled: true
    template-profile-dir: C:/JodConverter/templateProfile
票数 1
EN

Stack Overflow用户

发布于 2020-11-29 13:05:37

我为所有的大惊小怪感到抱歉-似乎是最古老和最明智的解决方案,已经工作了很长时间的各种计算机问题-是的,机器重启-工作。不过,我不知道如果我没有尝试过下面的方法,它是否会起作用:

我尝试了@sbraconnier建议,了解了LibreOffice使用的用户配置文件。在我的例子中,我使用的是Apache OpenOffice,但是说明没有改变。这个问题仍然存在。

然后我看到了一些刷新字体缓存的建议。有一个关于如何做这个here的有趣的教程。也就是说,他们建议首先停止Windows字体缓存服务,然后转到c:\Windows\ServiceProfiles\LocalService\AppData\Local并删除与FontCache相关的目录和文件(例如,我在那里有一个名为FontCache-System.dat的文件)-然后删除c:\Windows\System32\FNTCACHE.DAT (我想是保留了一个备份),然后再次启动Windows字体缓存服务。我做了那件事,但没有用。我还观察到上面的文件需要一些时间来重新生成-我不知道是否需要重新启动机器-我看到FontCache-System.dat在重新启动之前重新生成,但FNTCACHE.DAT只有在重新启动之后才在那里。

然后我找到了一个关于使用TrueType字体here的自定义本地文件夹的链接。他们建议您可以使用一个(全局)自定义文件夹,该文件夹不依赖于正在使用它的用户配置文件。这个文件夹是{LibreOffice安装文件夹}\share\fonts\ truetype -顺便说一下,这个“共享”文件夹反映了@ OpenType提到的用户/实例配置文件文件夹的结构-我尝试创建truetype文件夹并将我的OTF字体复制到那里,但是同样没有用。

我的最后一次尝试是重新启动机器--不知何故,字体被识别了。我不确定上面的步骤到底有什么帮助--这就是为什么我要重述它们的原因。再次感谢@sbraconnier

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65000261

复制
相关文章
python安装的库在pycharm不显示_pycharm上无法安装各种库
在使用pycharm安装库总是出现安装不成功的提示 ‘Non-zero exit code (2)’
全栈程序员站长
2022/09/28
2.7K0
python安装的库在pycharm不显示_pycharm上无法安装各种库
pycharm安装后运行不了_pycharm上无法安装各种库
参考博客链接:http://blog.csdn.net/qingyuanluofeng/article/details/46501427
全栈程序员站长
2022/09/26
1.6K0
pycharm安装后运行不了_pycharm上无法安装各种库
【pycharm】解决pycharm无法在settings里安装库的问题
本来想直接在pycharm的setting里安装库,但是安装的时候一直转圈圈,要么是太慢要么显示失败。发现用命令行可以解决这个问题。 具体操作如下: 打开命令行,输入下面语句(确保路径一致)。
全栈程序员站长
2022/09/25
1.6K0
【pycharm】解决pycharm无法在settings里安装库的问题
Rasa 聊天机器人专栏(八):在Docker上运行Rasa
这是如何使用Docker构建Rasa助手的指南。如果你之前没有使用过Rasa,我们建议你先Rasa教程开始。
磐创AI
2020/03/04
5.7K0
Pycharm安装jupyter notebook无法在SciView查看变量
Pycharm执行jupyter项目时,会提醒笔记本内核与项目内核不匹配,如下图:
全栈程序员站长
2022/09/27
1.6K0
Pycharm安装jupyter notebook无法在SciView查看变量
pycharm双击但是无法打开的情况_mac电脑上pycharm怎么安装
本来pycharm 用的好好地,电脑重启之后,突然就打不开了,双击没反应,重新安装也解决不了,百度找不到结果,就去google了。
全栈程序员站长
2022/09/25
1.9K0
pycharm双击但是无法打开的情况_mac电脑上pycharm怎么安装
​在tinycolinux上安装和使用cloudwall
本文关键字:在tinycolinux上安装和使用cloudwall,同步器as webos,uniform native web appstack
minlearn
2020/09/28
7800
在 Linux 上安装和使用 Docker
由于 Ubuntu Server 16.04 缺少图形界面,我会完全通过命令行来安装和使用 Docker。在你安装前,你需要更新 apt 然后进行必要的升级。一定要注意,若系统内核升级了,你会需要重启系统。因此最好挑个服务器能重启的时间进行。
用户8989785
2021/09/10
1.9K0
在OSX上安装和使用ROS
参考链接:https://github.com/mikepurvis/ros-install-osx
zhangrelay
2022/04/29
9710
在OSX上安装和使用ROS
在 Linux 上安装和使用 Docker
Docker 使得创建、部署,和管理容器变得特别简单。更好的是,安装和使用 Docker 在 Linux 平台上特别的方便。
用户4988085
2021/09/14
1.7K0
在 Windows 系统上安装和使用 Fluentd
我们在最初的文章中介绍了在 Linux 上安装 Fluentd 的方法,有时候为了做些简单测试,并不需要在服务器上运行 Fluentd。在自己电脑上装一个Fluentd 就可以实现。
Fluentd中文网
2021/02/05
3K0
在anaconda中安装pycharm_anaconda和pycharm关联
经历了装软件的头疼阶段后,终于搞明白Anaconda,python,Pycharm之间的关系及各种python包的安装了
全栈程序员站长
2022/09/27
1.9K0
在anaconda中安装pycharm_anaconda和pycharm关联
Pycharm安装、激活和使用教程
Pycharm是一款出色的IDE,以前写PHP代码的时候使用的PHPstrom,也是一款出色的编辑器工具,都是由JetBrains出品,pycharm提供调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等等功能,方便编程人员完成高效的代码开发工作。
申霖
2020/02/14
1.8K0
Pycharm安装、激活和使用教程
Rasa 使用ResponseSelector实现FAQ和闲聊
learn from https://github.com/Chinese-NLP-book/rasa_chinese_book_code
Michael阿明
2022/12/01
8780
Rasa 使用ResponseSelector实现FAQ和闲聊
在腾讯云上安装和使用 JuiceFS 存储
JuiceFS 是一个云原生的企业级开源共享文件系统,广泛应用于大数据、企业级数据共享、Kubernetes 容器编排、AI 机器学习、Web 服务和内容管理、数据容灾备份等场景。它将对象存储作为大容量本地磁盘使用,为云上应用提供近乎无限的存储空间。与此同时,得益于其独特的技术架构,在存储和处理大规模数据时,性能通常高于本地存储。
谈笑有Herald
2021/08/02
3.8K0
在腾讯云上安装和使用 JuiceFS 存储
gcc在Ubuntu上安装和使用「建议收藏」
使用命令sudo apt install build-essential,该命令将安装一堆新包,包括gcc,g ++和make。 要验证GCC编译器是否已成功安装,可以使用gcc -v命令打印GCC版本:
全栈程序员站长
2022/09/15
1.4K0
gcc在Ubuntu上安装和使用「建议收藏」
小白教程——安装和使用PyCharm
0.0 前言 上一个推送,我教大家怎么安装Python 3.X,安装完了,那我们肯定就是要用IDE (Integrated Development Environment)了,说白了,IDE就是集
伪君子
2018/04/04
3K0
小白教程——安装和使用PyCharm
在Windows 10上安装TensorFlow及PyCharm开发环境[通俗易懂]
有时候在查看官方文档时,常常看到很多的分支,所以作为开发者我们都喜欢把最佳实践总结出来。下面一起来看看如何在Windows 10上安装一个TensorFlow和PyCharm开发环境。
全栈程序员站长
2022/09/27
1.6K0
在Windows 10上安装TensorFlow及PyCharm开发环境[通俗易懂]
点击加载更多

相似问题

Hibernate搜索,Infinispan,jgroup,野生蝇集群集成配置

14

Kubernetes群集内的子网划分

116

Jgroup群集在重新启动单个集群成员时中断。

11

跨不同子网的arp

13

如何在旧的jgroup版本中更改JGroups群集协调器

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文