[reportlab-users] Automatically set Page Scaling and Print?

Robin Becker robin at reportlab.com
Mon Oct 1 13:18:03 EDT 2007

kevin wrote:

> Hi all,


> We use reportlab to generate printing labels and barcode lists. At the

> moment we are fervently telling people to turn off "Page Scaling" (to

> None) before printing their documents.


> Is there a way that this could be set up automatically while generating

> the reportlab document? I have seen PDF documents that do this. For

> instance,

> http://www.outback.com/pressroom/pdf/restaurantnews_march2005.pdf shows

> that the Page Scaling can be turned off on the Print dialog.


> Any help is greatly appreciated.


> Thanks,


> Kevin at booksys.com

well it didn't turn out too hard. I added this at the end of canvas

def setViewerPreference(self,pref,value):
'''set one of the allowed entries in the documents viewer preferences'''
catalog = self._doc.Catalog
VP = getattr(catalog,'ViewerPreferences',None)
if VP is None:
from reportlab.pdfbase.pdfdoc import PDFDictionary
VP = catalog.ViewerPreferences = PDFDictionary()
VP[pref] = value

def getViewerPreference(self,pref):
'''you'll get an error here if none have been set'''
return self._doc.Catalog.ViewerPreferences[pref]

def delViewerPreference(self,pref):
'''you'll get an error here if none have been set'''
del self._doc.Catalog.ViewerPreferences[pref]

The we can use the PrintScaling entry like


It seems all the entries in ViewerPreferences are names so perhaps we can agree
to eliminate the callers use of PDFName.
Robin Becker
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rl_hello.py
Type: text/x-python-script
Size: 338 bytes
Desc: not available
Url : <http://two.pairlist.net/pipermail/reportlab-users/attachments/20071001/27c30bd4/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rl_hello.pdf
Type: application/pdf
Size: 2156 bytes
Desc: not available
Url : <http://two.pairlist.net/pipermail/reportlab-users/attachments/20071001/27c30bd4/attachment-0001.pdf>

More information about the reportlab-users mailing list