Colin Bean
ccbean at gmail.com
Mon Oct 16 17:10:10 EDT 2006
Could you post just the headers as they appear in WebScarab? -Colin On 10/16/06, Jim Steil <jim at qlf.com> wrote: > I installed WebScarab and tested it and it all looks perfect. I set the > headers as you recommended, but still, IE won't display the content and > Firefox won't give me the name of the file I've put in the filename header > variable. I'm at a bit of a loss as to where to go next. > > -Jim > > Jim Steil > IT Manager > Quality Liquid Feeds > (608) 935-2345 > (608) 341-9896 cell > > -----Original Message----- > From: Colin Bean [mailto:ccbean at gmail.com] > Sent: Monday, October 16, 2006 2:44 PM > To: Jim Steil > Cc: mod_python at modpython.org > Subject: Re: [mod_python] ReportLab integration > > Hi Jim, > > So you're just getting a blank page in IE when you try to access your > pdf? One case is that the content is actually being sent to IE, and > IE isn't displaying to properly, another is the content isn't being > sent correctly / completely. I'm guessing it's the first, since > there's not much that's browser-dependent in your code, but you might > want to check this. In the past, I"ve used a lightweight http proxy > (pick your flavor -- webscarab worked well for me) between browser and > server, to make sure that the complete content is actually being sent > to the browser. > > So, assuming the pdf content is actually being send but IE won't display it: > Just realized that the microsoft KB article never mentions this > (sorry), but if you change "content-disposition: attachment..." to > "content-disposition: inline...", it will set the filename / type for > inline display like you're looking for. > > Here's another snippet that talks about handling pdf content (it's for > java, but mainly deals with headers / filename stuff): > http://www.rgagnon.com/javadetails/java-0404.html > > hth, > Colin > > > > On 10/16/06, Jim Steil <jim at qlf.com> wrote: > > > > > > > > > > It runs my script, but doesn't go anywhere when it is done. The code > looks > > like this: > > > > > > > > --------------------- > > > > # Create the document. > > > > reportPeriod = 'Report for the Month of %s %s' % (months[reportMonth], > > reportYear) > > > > output = StringIO.StringIO() > > > > doc = SimpleDocTemplate(output, pagesize=landscape(letter)) > > > > doc.m = reportPeriod > > > > go(doc, reportMonth, reportYear) > > > > # Return the rendered page content. > > > > content = output.getvalue() > > > > > > > > req.content_type = "application/pdf" > > > > req.headers_out['Content-Length'] = str(len(content)) > > > > > > > > # Internet Explorer chokes on this with PDFs. > > > > #req.headers_out['Pragma'] = 'no-cache' > > > > #req.headers_out['Cache-Control'] = 'no-cache' > > > > #req.headers_out['Expires'] = '-1' > > > > > > > > req.send_http_header() > > > > req.write(content) > > > > return apache.OK > > > > --------------------- > > > > > > > > > > > > This works fine in Firefox, but doesn't do anything in IE. The comment in > > the code about Internet Explorer choking was there in Grahams example. > > > > > > > > I looked at the link you provided, but it seems to speak about doing a > Save > > As when you display the content. That is not what I'm trying to > accomplish. > > I want the pdf to come back to the screen, but have it come back with a > > name. > > > > > > > > -Jim > > > > > > > > Jim Steil > > > > IT Manager > > > > Quality Liquid Feeds > > > > (608) 935-2345 > > > > (608) 341-9896 cell > > > > > > > > > > -----Original Message----- > > From: Colin Bean [mailto:ccbean at gmail.com] > > Sent: Monday, October 16, 2006 2:05 PM > > To: Jim Steil > > Cc: mod_python at modpython.org > > Subject: Re: [mod_python] ReportLab integration > > > > > > > > Hi Jim, > > > > > > > > How does it break in IE? If it it won't recognize the result is a > > > > pdf, try setting the content-disposition header. You can use this to > > > > specify a filename that browser will save your file as; if you give it > > > > a .pdf extension then IE should open it fine. Here's a little more > > > > info on it: > > > > http://support.microsoft.com/kb/260519 > > > > > > > > I *think* that changing your handler to use a .pdf extension will do > > > > the same thing (I haven't used publisher yet so I'm not sure how to do > > > > this); the content disposition trick might be easier, though. > > > > > > > > -Colin > > > > > > > > On 10/16/06, Jim Steil <jim at qlf.com> wrote: > > > > > > > > > > > > > > > > > > > > > > > > > Graham: > > > > > > > > > > > > > > > > > > > > Thanks so much for the examples. That's exactly what I needed. I used > > the > > > > > example in Reportlab-demo.py and it is working great in FireFox, but not > > in > > > > > IE. There is a comment in the source about IE choking on some code but > I > > > > > don't know how to get around that. Also, is there some trick or > > > > > configuration I need to do to get a .pdf extension on my url? I'm using > > the > > > > > publisher handler. > > > > > > > > > > > > > > > > > > > > Thanks again. What I've got working now really helps, and getting > around > > > > > these 2 issues would just be icing on the cake! > > > > > > > > > > > > > > > > > > > > -Jim > > > > > > > > > > > > > > > > > > > > > > > > > Jim Steil > > > > > IT Manager > > > > > Quality Liquid Feeds > > > > > (608) 935-2345 > > > > > > > > > > (608) 341-9896 cell > > > > > > > > > > ________________________________ > > > > > > > > > > > > > > > From: Graham Dumpleton [mailto:grahamd at dscpl.com.au] > > > > > Sent: Saturday, October 14, 2006 12:54 AM > > > > > To: Jim Steil > > > > > Cc: mod_python at modpython.org > > > > > Subject: Re: [mod_python] ReportLab integration > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 14/10/2006, at 6:25 AM, Jim Steil wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Can someone help get me pointed in the right direction? I want to allow > a > > > > > user to request a PDF from my mod_python app. When they do so, I want > to > > > > > generate the PDF on the fly with ReportLab and then send the resulting > PDF > > > > > back to the browser without saving it anywhere. I've done some searches > > on > > > > > the web but can't seem to find examples of doing this with just > mod_python > > > > > and ReportLab. I've seen examples of using other tools, but not just > > > > > mod_python. This sounds like something others are probably doing, but I > > > > > need a push in the right direction. Thanks in advance for your time. > > > > > > > > > > Try: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://www.dscpl.com.au/projects/vampire/examples/reportlab/reportlab-demo.p > df > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This uses reportlab to generate the PDF. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > There is also: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://www.dscpl.com.au/projects/vampire/examples/reportlab/trml2pdf-demo.pd > f > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This uses free version of tool for converting reportlab RML to PDF. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The actual source code for each is at: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://www.dscpl.com.au/projects/vampire/source/examples/reportlab/reportlab > -demo.py > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://www.dscpl.com.au/projects/vampire/source/examples/reportlab/_handler. > py > > > > > > > > > > > > > > > > > > > > > > > http://www.dscpl.com.au/projects/vampire/source/examples/reportlab/trml2pdf- > demo.rml > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > These happen to use Vampire for the mod_python handler framework, > > > > > > > > > > > > > > > but you should be able to adapt them to other mod_python handler > > > > > > > > > > > > > > > systems. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Graham > > > > > _______________________________________________ > > > > > Mod_python mailing list > > > > > Mod_python at modpython.org > > > > > http://mailman.modpython.org/mailman/listinfo/mod_python > > > > > > > > > > > > > > > > > >
|