MCPcopy Create free account
hub / github.com/Distrotech/reportlab / saveAsPresentation

Method saveAsPresentation

tools/pythonpoint/pythonpoint.py:344–393  ·  view source on GitHub ↗

Write the PDF document, one slide per page.

(self)

Source from the content-addressed store, hash-verified

342
343
344 def saveAsPresentation(self):
345 """Write the PDF document, one slide per page."""
346 if self.verbose:
347 print 'saving presentation...'
348 pageSize = (self.pageWidth, self.pageHeight)
349 if self.sourceFilename:
350 filename = os.path.splitext(self.sourceFilename)[0] + '.pdf'
351 if self.outDir: filename = os.path.join(self.outDir,os.path.basename(filename))
352 if self.verbose:
353 print filename
354 #canv = canvas.Canvas(filename, pagesize = pageSize)
355 outfile = getStringIO()
356 if self.notes:
357 #translate the page from landscape to portrait
358 pageSize= pageSize[1], pageSize[0]
359 canv = canvas.Canvas(outfile, pagesize = pageSize)
360 canv.setPageCompression(self.compression)
361 canv.setPageDuration(self.pageDuration)
362 if self.title:
363 canv.setTitle(self.title)
364 if self.author:
365 canv.setAuthor(self.author)
366 if self.subject:
367 canv.setSubject(self.subject)
368
369 slideNo = 0
370 for slide in self.slides:
371 #need diagnostic output if something wrong with XML
372 slideNo = slideNo + 1
373 if self.verbose:
374 print 'doing slide %d, id = %s' % (slideNo, slide.id)
375 if self.notes:
376 #frame and shift the slide
377 #canv.scale(0.67, 0.67)
378 scale_amt = (min(pageSize)/float(max(pageSize)))*.95
379 #canv.translate(self.pageWidth / 6.0, self.pageHeight / 3.0)
380 #canv.translate(self.pageWidth / 2.0, .025*self.pageHeight)
381 canv.translate(.025*self.pageHeight, (self.pageWidth/2.0) + 5)
382 #canv.rotate(90)
383 canv.scale(scale_amt, scale_amt)
384 canv.rect(0,0,self.pageWidth, self.pageHeight)
385 slide.drawOn(canv)
386 canv.showPage()
387
388 #ensure outline visible by default
389 if self.showOutline:
390 canv.showOutline()
391
392 canv.save()
393 return self.savetofile(outfile, filename)
394
395
396 def saveAsHandout(self):

Callers 1

saveMethod · 0.95

Calls 14

setPageCompressionMethod · 0.95
setPageDurationMethod · 0.95
setTitleMethod · 0.95
setAuthorMethod · 0.95
setSubjectMethod · 0.95
translateMethod · 0.95
scaleMethod · 0.95
rectMethod · 0.95
showPageMethod · 0.95
showOutlineMethod · 0.95
saveMethod · 0.95
savetofileMethod · 0.95

Tested by

no test coverage detected