2014-10-16 5 views
1

XSL-Fo не может получить мое изображение, хотя я установил правильный путь к изображению.Изображение не найдено- XSL-FO

<fo:external-graphic src="../graphics/bullet.png" content-height="0.5cm" /> 

Я получил эту ошибку при каждой попытке файла, обработанного в командной строке Windows.

org.apache.fop.events.LoggingEventListener processEvent 
SEVERE: Image not found. URI: bullet.png. (See position 26:80) 
org.apache.fop.events.LoggingEventListener processEvent              
SEVERE: Image not found. URI: bullet.png. (No context info available) 
org.apache.fop.events.LoggingEventListener processEvent                     

Исходный путь - это точный формат, предоставляемый примером изображения APOPE FOP. Я даже выполнил их файл «image.fo» при визуализации внешней графики и все еще сталкивался с ошибкой выше (с другим файлом изображения).

Существуют ли альтернативные решения?

ответ

3

Относительные URI относятся к базовому URI (https://xmlgraphics.apache.org/fop/fo.html#external-resources).

Если вы не устанавливаете базовый URI в своей конфигурации FOP, базовым URI является текущий каталог (https://xmlgraphics.apache.org/fop/1.1/configuration.html).

Где находится файл изображения относительно каталога, в котором вы работаете FOP?


ли работа при использовании:

<fo:external-graphic src="examples/fo/graphics/bullet.png" content-height="0.5cm" /> 

?

+0

Относительный путь к моему файлу изображения: «примеры \ fo \ графика». – maudff

+0

XML-FO по-прежнему не может получить изображение, используя этот путь. – maudff

+0

Затем сначала попробуйте ввести абсолютный путь: 'file: /// C: /.../ examples/fo/graphics/bullet.png', поэтому у FOP нет выбора, где найти файл. Во-вторых, попробуйте запустить с помощью '-x' или' -d' (https://xmlgraphics.apache.org/fop/trunk/running.html) и посмотреть, дает ли вам достаточно информации, чтобы узнать, откуда FOP думает, что она работает. –

1

Мой внешний-графический тег выглядит следующим образом:

<fo:external-graphic content-height="15.73mm" src="url('logo.png')"/> 

, и я должен был поместить файл logo.png в том же каталоге, что и файл XSL.

То есть, моя фат команда выглядела так:

$TOOLS/fop-2.0/fop -d -x -xml xmlfiles/xmlfile.xml -xsl xslfiles/xslfile.xsl -pdf pdffiles/pdffile.pdf 

, и я должен был поместить файл .png в каталоге XmlFiles.

Я приношу это, потому что принятый ответ говорит, что URI является «текущим каталогом».