IE and HTML pdf's generated on the fly
I have a Zope DHTML document which generates a form in which the user selects what he/she wants to print. The form action (target="_blank") is a python script called print_plan that collects and edits several HTML and DTML and structured text documents and constructs a single legal HTML document. The script then opens a pipe to HTMLDOC, stuffs the document down the pipe anbd sucks back a pdf through the return pipe and hods it as a StringIO entity. Now the script has the pdf in hand and sends it off to the client first setting the HTTP headers. The HTTP headers and content look like: Content-Type: application/pdf Content-Disposition: inline; filename=foo.pdf %PDF-1.3 %âãÏÓ 1 0 obj<</Producer(htmldoc 1.8.22 Copyright 1997-2002 Easy Software Products, All Rights Reserved.)/CreationDate(D:20021010181751+0700)/Title( where I have truncated the pdf file and inserted linebreaks to make it readable, save space, etc. This all works with browsers other than IE and the browsers either display or save the file. IE fails to recognize the pdf as a pdf and activate the reader. Nor does it offer to save the file.... It's been suggested that IE gets the returned content type from the request URL's extension. That would imply that the form would need a name like "printplan.pdf" (not possible). It was also suggested that a possible workaround would be to use a dummy variable as part of the action ( action="printplan?dummy=foo.pdf") in hopes that IE would recognize it as a pdf generator. Does IE really work this way? My web research suggests that IE does not implement "Content-Dispositon" but tries to grok the type by examining the incoming stream. If that's the case, perhaps there is some difference between HTMLDOC generated pdf files and other pdf's, and IE detect it. Whatever, it's frustrating no end. Any help much appreciated.
On Mon, Oct 14, 2002 at 03:15:50PM -0700, Dennis Allison wrote:
Content-Type: application/pdf Content-Disposition: inline; filename=foo.pdf
did you try my suggestion to replace "inline" with "attachment" ? why can't you call your method like "something.pdf" , that's just a name after all ? hth Jerome Alet
participants (2)
-
Dennis Allison -
Jerome Alet