File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

need to refresh a lot to see the generated pdf document

 
vishme vish
Greenhorn
Posts: 7
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Everyone,

I am generating a pdf document from xml using XSL-FO. When i execute my code, i am able to get the output, but i need to click on the refresh button many times.

I don't understand why this is happening. Can any one Pl explain me what might be the problem

Thanks in Advance.
 
Madhav Lakkapragada
Ranch Hand
Posts: 5040
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am a biginner in the FPO arena.
Did you try searching the Apache FOP web site, just a thought, I am sure you did your home work.

Where is WilliamB when we need him?

- m
 
Eric Pascarello
author
Rancher
Posts: 15385
6
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sounds like you have a problem with caching to me!
 
Balaji Loganathan
author and deputy
Bartender
Posts: 3150
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
1. Have you tested it with other PC's ?
2. how does your url look like ? does it have a .pdf string at the end ?
3. are you supplying the xml and xsl at the url or inside your java xsl transformation code ?
 
William Brogden
Author and all-around good cowpoke
Rancher
Posts: 13045
6
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
As I recall, PDF plugins like to have a content-length to work with. It sounds like you are generating PDF output directly to the response stream so you can't set the content-length.

If this was my problem I would write the pdf to a temp file in order to be able to send the content-length correctly. That also helps with debugging the FOP since you can have the server side keep the temp file as you develop the application. I also like to keep the .fo output around during development so you can see what is being generated.

In general, I try to develop servlet applications in parts that can be tested OUTSIDE the servlet environment as much as possible - servlets have so many pitfalls.

Bill
 
vishme vish
Greenhorn
Posts: 7
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you all for the replies.

I am not able to understand why i need to refresh a lot.
I am executing my code through WSAD. The URL is
http://localhost:9080/PDFOutput/TestingServlet
Here is my Servlet code, that is used to generate the pdf document.
Here i am passing xml as String.



And here is my details.xsl file.


Any help would be greatly appreciated

Thanks in Advance.
 
Balaji Loganathan
author and deputy
Bartender
Posts: 3150
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Add this few lines to your servlet code after the codeline MessageHandler.setScreenLogger(logger);


resp.setContentType("application/pdf");
resp.setHeader("Content-Disposition","inline;filename=details.pdf ");

and see how its works.

Instead of writing it to outputstream, try to write it to a bytearrayoutputstream and then assign it to printwriter. (by this way you can get the content length of your file then you can set the response length using resp.setContentLength(bytearrarycontent.length)
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic