Carter, Will wrote:
I am using fop in a servlet.  Has anyone ever come up with a way to report
back to the browser where it's at in the converting process from an fo file
to a to pdf?

I haven't tried personally but you can try various approaches. One could be to send back a text/html and redirect the FOP log into the servlet's output stream (look into the source of Driver.java:getLogger(), create a target with the servlet output stream instead of System.out), after FOP finished insert a JavaScript redirecting to another URL or simply reloading, intercept the new request and send the buffered PDF. Of course, this requires JavaScript or some other client side script language enabled. Another possiblity could be to send a MIME multipart reply, first some HTML as described above, then the PDF as second part or attachment. I have no real good idea how this should work, and it is quite possible that different browsers will react differently, however, the user should at least be offered to download and save the PDF. Consult a guru for the HTTP and MIME realm for details. Yet another possibiility is to use an applet (yes, applet), which "phones home", i.e. opens a connection back to the server which can be used to push progress info to the client and finally the PDF itself. This could be problematic for clients behind firewalls or with rather strict security policies for the Java sandbox. You see, there is no sure-fire solution, though something will work at least in a controlled environment link an intranet.

when I run fop at my command line in debug mode, it reports along the way
when a page is completes.  Anybody know how I could get that info when fop
is running in a servlet?

Look at getLogger() in Driver.java.

J.Pietschmann



Reply via email to