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.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage