----- Original Message -----
From: "David H" <[EMAIL PROTECTED]>
To: "zope user list" <zope@zope.org>
Sent: Sunday, August 27, 2006 9:48 PM
Subject: Re: [Zope] Reportlab issue
Jonathan wrote:
----- Original Message ----- From: "David H" <[EMAIL PROTECTED]>
To: "Jonathan" <[EMAIL PROTECTED]>
Cc: "zope user list" <zope@zope.org>
Sent: Sunday, August 27, 2006 9:25 PM
Subject: Re: [Zope] Reportlab issue
Jonathan wrote:
----- Original Message ----- From: "David H" <[EMAIL PROTECTED]>
To: "zope user list" <zope@zope.org>
Sent: Sunday, August 27, 2006 8:54 PM
Subject: [Zope] Reportlab issue
Hi Zope List,
I have an Zope application that uses ReportLab to generate acrobat
viewable reports. (I already posted this to reportlab list - so far no
solutions).
Heres the problem:
I display an acrobat report (using Firefox or IE 6) and say scroll
down to page 10. I then use the <browser> back button to re-enter my
Zope application.
Now, even if I click various unrelated pages in the application
(clearing the request,etc) and then return to the Report (which is
always freshly generated) it will try to re-display at page 10 -
instead of top of page.
This occurs even if the data being reported has changed, and this
occurs even if a different report is generated!
Note: that I use
import tempfile and
tmpFile2 = tempfile.mktemp()
to keep pdfPath's unique ...
I've tried combinations of "Content-Disposition" params like changing
filename=, etc. Nothing is changing this behavior.
I've tried (a reportlab mailing list suggestion) varying to <forms
action= like
<form name="printform" method="post"
action="extensions/pyBudgetReports"
tal:attributes="action python:
'extensions/pyBudgetReports/?random=' + context.python.pyTime()">
No help either.
I have never used ReportLab, but is there a possibility that when you
go back to the adobe document it is being served from a cache? You
could try using html meta tags or response.setHeader (better) to make
sure the document is not being served from the cache.
Just a shot in the dark!
Jonathan
Hi Jonathan,
Yes, I did try that, e.g. (report lab + external file stuff)
# -----------------------------------------------------------
def writeReport(self, RESPONSE):
# -----------------------------------------------------------
"""
generates report output
"""
self.save()
theFile=open( self.pdfpath,'rb')
result = theFile.read()
theFile.close()
os.remove(self.pdfpath)
# the next 3 lines were snarked from google "zope no cache" I
think its a casey duncan recipe ...
RESPONSE.setHeader('Pragma', 'no-cache')
RESPONSE.setHeader('Cache-Control','no-cache')
RESPONSE.setHeader('Expires', 'Sat, 1 Jan 2000 00:00:00 GMT')
# the normal fair
RESPONSE.setHeader('Content-Type','application/pdf')
RESPONSE.setHeader('Content-Disposition','inline;filename="reportNz.pdf"')
RESPONSE.setHeader('Content-Length',len(result))
RESPONSE.write(result) # result is
And it didn't help.
Another shot in the dark... could it be an adobe acrobat issue? By which
i mean that adobe sees that you are looking at the same document
(reportNz.pdf) and then tries to reopen the document at the last point
you were looking. Try randomizing the file name (add 2 or 3 random
digits to the filename and see what happens).
Good luck!
Jonathan
Jonathan,
We think alike. If you scan my original msg you'll see that I tested
varying the Content-Dispostion ... report= name as well.
Sorry, i missed that in your original post. I'm all out of
shots-in-the-dark! Have you tried seeking help on the adobe acrobat
developer lists?
Jonathan
_______________________________________________
Zope maillist - Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope-dev )