2014-10-02 69 views
1

加載圖像,我想通過XSL FO被Apache FOP加載圖像,並生成它。我使用jboss4,2個文件xsl fo和image放在jboss/server/conf/resources /中。如何通過XSL FO

<fo:external-graphic 
    src="url(\Logo.jpg)" 
    content-height="scale-to-fit" height="1.00in" content-width="1.00in" 
    scaling="non-uniform" /> 

阿帕奇FOP生成沒有圖像的PDF和顯示消息:ERROR [FOUserAgent]圖片未找到。 URI:。 (沒有上下文信息可用)。我如何改正它?

回答

1

我使用以下

<fo:block font-weight="normal" text-align="left"> 
     <fo:external-graphic src="url(file:images/CompanyLogo.png)" content-height="8mm" /> 
</fo:block> 
+0

不幸的是,SRC = 「URL(文件:圖像/ CompanyLogo.png)」 不爲我工作。 – duykaka 2014-10-02 06:43:35

+0

好吧,它不會,除非你的文件被稱爲CompanyLogo.png,它是在images目錄中的位置。我覺得這裏的關鍵是使用'文件:' – 2014-10-02 06:47:19

+0

我已經試過:SRC = 「URL(文件:Logo.png)」 SRC = 「URL(文件:../資源/ Logo.png)」, (file:resources/Logo.png)「,但我並不幸運,XSL和Image文件放在相同的文件夾資源中,我使用Apache FOP通過DATA - > XSL FO - > PDF生成PDF文件。 – duykaka 2014-10-02 07:02:41

0

https://xmlgraphics.apache.org/fop/faq.html#MalformedURL

相對文件URL與任何東西,但一個斜槓開始,並且沒有文件:前綴

只使用正斜槓,即使在窗戶上也是如此。

https://xmlgraphics.apache.org/fop/1.1/configuration.html開始,相對URI的默認值是相對於當前目錄的。

如果您正在使用FOP(https://xmlgraphics.apache.org/fop/1.1/embedding.html#config-external)一個配置文件,你應該檢查,看看它的設置的基本目錄。