FOP 2.3:外部图形问题

时间:2018-07-30 17:09:37

标签: java jar apache-fop

这是我在服务器中而不是直接从IDE中执行Java jar应用程序时的情况。

  1. 我在以下路径中有配置文件:C:\ Temp \ myuser \ myappname \ config \ xslt。主要档案是header.jpg,fopfile.xconf和style.stl
  2. 此应用程序调用Zxing库以生成qr代码以附加到PDF新文件。我的应用程序在C:\ Temp \ myapp \ myapp.jar中运行,因此以png格式出现问题的QRCode文件将以qrcode.png的名称保存在该路径中。
  3. 我的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。

1 个答案:

答案 0 :(得分:0)

    <!--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>