java - FOP 2.3:fo:external-graphic 的问题
问题描述
这是我在服务器中执行我的 java jar 应用程序时的情况,而不是直接从 IDE 执行。
- 我在此路径中有配置文件:C:\Temp\myuser\myappname\config\xslt。主要档案是 header.jpg、fopfile.xconf 和 style.stl
- 此应用程序调用 Zxing 库以生成二维码以附加到 PDF 新文件。我的应用程序在 C:\Temp\myapp\myapp.jar 中运行,因此生成的 png 格式的 QRCode 文件将保存在名为 qrcode.png 的路径中。
- 我的 xsl-fo 文件使用了臭名昭著的标签 fo:external-graphic。对于这两种情况,我都使用:
<fo:external-graphic src="url('file:\\C:\Temp\myuser\myappname\config\xslt\header.jpg')"/>
<fo:external-graphic src="url('file:\\C:\Temp\myapp\qrcode.png')"/>
但是罐子再次压碎并说坟墓:每次都找不到图像。我尝试更改路径并发生相同的错误。
现在看,如果我从 IDE -VSCode 运行这个应用程序,这个问题永远不会发生。
请大家帮助我们,我们能做些什么?我从 apache 阅读了教程中的所有文档,但仍然没有任何效果。
注意:我通过以下方式生成 jar:mvn clean compile assembly:single -f,所以我创建了嵌入所有依赖项的 opne jar。
解决方案
<!--Just put this first dependency **xmlgraphics-commons** before the **fop** dependency-->
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>xmlgraphics-commons</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>fop</artifactId>
<version>2.3</version>
</dependency>
推荐阅读
- django - django dateTimeField deltat
- reactjs - Babel 不会转译箭头函数的 JSX 实例
- sql - SQL Server 查询 - 不希望多行具有相同的数据
- android - Android 无法加载 vlcjni 库 (libVLC)
- c# - 如何改进此 LINQ 查询?
- java - 在 Java 示例中使用“For 循环”
- c++ - 所有编译器:禁用某些标头的警告
- api - Java 中 stream.max(Comparator) 和 stream.collect(Collectors.maxBy(Comparator) 的区别
- regex - 使用 REGEX 提取部分字符串
- javascript - Javascript 问题 - 在 document.getElementById 之后无法提交表单