%PDF- %PDF-
Direktori : /usr/share/doc/python3-reportlab/tests/ |
Current File : //usr/share/doc/python3-reportlab/tests/test_pdfbase_postscript.py |
#! /usr/bin/python3 #Copyright ReportLab Europe Ltd. 2000-2017 #see license.txt for license details __doc__="""Tests Postscript XObjects. Nothing visiblke in Acrobat, but the resulting files contain graphics and tray commands if exported to a Postscript device in Acrobat 4.0""" __version__='3.3.0' from reportlab.lib.testutils import setOutDir,makeSuiteForClasses, outputfile, printLocation setOutDir(__name__) import unittest from reportlab.pdfgen.canvas import Canvas class PostScriptTestCase(unittest.TestCase): "Simplest test that makes PDF" def testVisible(self): "Makes a document with extra text - should export and distill" c = Canvas(outputfile('test_pdfbase_postscript_visible.pdf')) c.setPageCompression(0) c.setFont('Helvetica-Bold', 18) c.drawString(100,700, 'Hello World. This is page 1 of a 2 page document.') c.showPage() c.setFont('Helvetica-Bold', 16) c.drawString(100,700, 'Page 2. This has some postscript drawing code.') c.drawString(100,680, 'If you print it using a PS device and Acrobat 4/5,') c.drawString(100,660, 'or export to Postscript, you should see the word') c.drawString(100,640, '"Hello PostScript" below. In ordinary Acrobat Reader') c.drawString(100,620, 'we expect to see nothing.') c.addPostScriptCommand('/Helvetica findfont 48 scalefont setfont 100 400 moveto (Hello PostScript) show') c.drawString(100,500, 'This document also inserts two postscript') c.drawString(100,480, ' comments at beginning and endof the stream;') c.drawString(100,460, 'search files for "%PS_BEFORE" and "%PS_AFTER".') c.addPostScriptCommand('%PS_BEFORE', position=0) c.addPostScriptCommand('%PS_AFTER', position=2) c.save() def testTray(self): "Makes a document with tray command - only works on printers supporting it" c = Canvas(outputfile('test_pdfbase_postscript_tray.pdf')) c.setPageCompression(0) c.setFont('Helvetica-Bold', 18) c.drawString(100,700, 'Hello World. This is page 1 of a 2 page document.') c.drawString(100,680, 'This also has a tray command ("5 setpapertray").') c.addPostScriptCommand('5 setpapertray') c.showPage() c.setFont('Helvetica-Bold', 16) c.drawString(100,700, 'Page 2. This should come from a different tray.') c.drawString(100,680, 'Also, if you print it using a PS device and Acrobat 4/5,') c.drawString(100,660, 'or export to Postscript, you should see the word') c.drawString(100,640, '"Hello PostScript" below. In ordinary Acrobat Reader') c.drawString(100,620, 'we expect to see nothing.') c.addPostScriptCommand('/Helvetica findfont 48 scalefont setfont 100 400 moveto (Hello PostScript) show') c.save() def makeSuite(): return makeSuiteForClasses(PostScriptTestCase) #noruntests if __name__ == "__main__": unittest.TextTestRunner().run(makeSuite()) print('saved '+outputfile('test_pdfgen_postscript_visible.pdf')) print('saved '+outputfile('test_pdfgen_postscript_tray.pdf')) printLocation()