Rendern Sie das Bild mit OutputStream In FOP
Ich wollte ein Bild als PDF rendern, das von FOP generiert wird. Um das Bild zu rendern benutze ich ein Tag<fo:external-graphic>
Wie nachstehend :
<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>
Ich habe es auch versucht, indem ich die vollständige URL angegeben habe als:
<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>
Im Controller habe ich eine Anforderungszuordnung(../offlinePaper/displayImage)
das nimmt BildnamendisImg
vongetParameter
und entschlüsseln Sie das Bild und kehren Sie inOutputStream
.
Aber wenn ich PDF generiere, habe ich Fehler in der Protokolldatei gefunden als:
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)
Wenn ich diese URL kopiere und in die URL einfüge, wird das Bild im Browser angezeigt, und ich habe festgestellt, dass beim Generieren eines PDF-Dokuments die Anforderungszuordnung, bei der der Aufruf zur Bildentschlüsselung erfolgt, nicht aufgerufen wird.
Aktualisieren
Auch merkwürdig finde ich, dass mit gleichem Code PDFs erfolgreich generiert werden, wenn Webserver sindTomcat
aber wenn ich die anwendung einsetzeGlassfish
Es gibt Fehler.