Рендеринг изображения с использованием OutputStream в FOP
Я хотел визуализировать изображение в PDF, которое будет сгенерировано FOP. Для рендеринга изображения я использую тег<fo:external-graphic>
Как показано ниже:
<fo:external-graphic src="url('../offlinePaper/displayImage?disImg=4bec89f0-5b97-40c3-b7c9-ac555a664df8')" inline-progression-dimension.maximum="100%" content-height="scale-down-to-fit" content-width="scale-down-to-fit"> </fo:external-graphic>
Я также попытался дать полный URL-адрес как:
<fo:external-graphic src="http://10.2.10.79/Web/offlinePaper/displayImage?disImg=e391d672-ebf4-44d8-86cb-2cf987a50bf7" inline-progression-dimension.maximum="100%" content-height="scale-down-to-fit" content-width="scale-down-to-fit"> </fo:external-graphic>
В контроллере у меня отображается отображение запроса(../offlinePaper/displayImage)
который принимает имя изображенияdisImg
отgetParameter
и расшифровать изображение и вернуться вOutputStream
.
Но когда я генерирую PDF, я обнаружил ошибку в файле журнала как:
Image not available. URI: http://10.2.10.79:80/Web/offlinePaper/displayImage?disImg=4bec89f0-5b97-40c3-b7c9-ac555a664df8. Reason: org.apache.xmlgraphics.image.loader.ImageException: The file format is not supported. No ImagePreloader found for http://10.2.10.79:80/Web/offlinePaper/displayImage?disImg=4bec89f0-5b97-40c3-b7c9-ac555a664df8 (No context info available)
Но если я скопирую этот URL-адрес и вставлю в него URL-адрес, изображение отобразится в браузере, и я также обнаружил, что при создании PDF-файла сопоставление запроса, предполагающее получение вызова для дешифрования изображения, не вызывается.
Обновить
Также странно, что я узнал, что с тем же кодом PDF успешно генерируется, если веб-серверTomcat
но если я разверну приложение наGlassfish
это дает ошибку.