本文整理汇总了Python中reportlab.pdfgen.canvas.Canvas.bookmarkPage方法的典型用法代码示例。如果您正苦于以下问题:Python Canvas.bookmarkPage方法的具体用法?Python Canvas.bookmarkPage怎么用?Python Canvas.bookmarkPage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reportlab.pdfgen.canvas.Canvas
的用法示例。
在下文中一共展示了Canvas.bookmarkPage方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: makeTestDoc
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import bookmarkPage [as 别名]
def makeTestDoc(fontNames):
filename = outputfile("test_pdfbase_pdfmetrics.pdf")
c = Canvas(filename)
c.bookmarkPage("Glyph Width Tests")
c.showOutline()
c.addOutlineEntry("Glyph Width Tests", "Glyph Width Tests", level=0)
if verbose:
print # get it on a different line to the unittest log output.
for fontName in fontNames:
if verbose:
print "width test for", fontName
makeWidthTestForAllGlyphs(c, fontName)
c.showPage()
c.save()
if verbose:
if verbose:
print "saved", filename
示例2: _doTest
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import bookmarkPage [as 别名]
def _doTest(self, filename, mode, desc):
"A generic method called by all test real methods."
filename = outputfile(self.baseFileName + filename)
c = Canvas(filename)
# Handle different modes.
if mode == 'FullScreen':
c.showFullScreen0()
elif mode == 'Outline':
c.bookmarkPage('page1')
c.addOutlineEntry('Token Outline Entry', 'page1')
c.showOutline()
elif mode == 'UseNone':
pass
c.setFont('Helvetica', 20)
c.drawString(100, 700, desc)
c.save()
assert fileDoesExist(filename)
示例3: compile_PDF
# 需要导入模块: from reportlab.pdfgen.canvas import Canvas [as 别名]
# 或者: from reportlab.pdfgen.canvas.Canvas import bookmarkPage [as 别名]
def compile_PDF(request, book, PDF_file, size=None):
print "The selected size pre is:"
print size
if size is None:
size = request.REQUEST.get('size',None)
limit = request.REQUEST.get('limit',None)
if limit:
limit = int(limit)
print "The selected size post is:"
print size
canvas = Canvas(PDF_file, pagesize=letter)
canvas.setAuthor(book.creator)
canvas.setTitle(book.title)
djatokaArgs = {'svc.scale':'612,792'}
imageArgs = {'x': 0, 'y': 0, 'height': letter[1], 'width': letter[0],
'preserveAspectRatio': False, 'anchor': 'c'}
try:
page = book.pages.get(internal=False,title='front',jp2__isnull=False)
set_image_params(page.jp2, djatokaArgs, imageArgs, size)
canvas.drawImage(get_djatoka_url(page.jp2, **djatokaArgs), **imageArgs)
canvas.showPage()
except Page.DoesNotExist:
pass
pages = book.pages.filter(internal=True).order_by('sequence')
if limit and len(pages) > limit:
pages = pages[:limit]
start = None
length = 1
count = 0
for page in pages:
if page.jp2:
if start is not None:
add_blank_page_range(canvas, book, start, length)
start = None
'''
print "In pdf.py, here are the djatokaArgs:"
for x in djatokaArgs.items():
print x
print "In pdf.py, here are the imageArgs:"
for x in imageArgs.items():
print x
'''
count += 1
print count
'''print page.jp2
print get_djatoka_url(page.jp2, **djatokaArgs)
metadata = get_djatoka_metadata(page.jp2)
height = int(metadata['height'])
width = int(metadata['width'])'''
set_image_params(page.jp2, djatokaArgs, imageArgs, size)
#height_prime = int(djatokaArgs['svc.scale'].split(',')[1])
print "width:height prime is:"
print imageArgs['width']
print imageArgs['height']
#imageArgs['width'] = int((width * height_prime) / height)
#imageArgs['height'] = height_prime
canvas.setPageSize((imageArgs['width'], imageArgs['height']))
canvas.drawImage(get_djatoka_url(page.jp2, **djatokaArgs),
**imageArgs)
for annotation in book.annotations.filter(offset=page.sequence):
canvas.bookmarkPage(str(annotation.pk))
canvas.showPage()
else:
if start is None:
start = page.sequence
length = 1
else:
length += 1
if start is not None:
add_blank_page_range(canvas, book, start, length)
if limit:
for annotation in book.annotations.filter(offset__gt=limit):
canvas.bookmarkPage(str(annotation.pk))
for external in ('back', 'top', 'bottom', 'side', 'spine', ):
try:
page = book.pages.get(internal=False,
#.........这里部分代码省略.........