小编Ale*_*los的帖子

Python ReportLab - 可点击的TOC,带有Y页面编号

使用ReportLab 2.7,Python 2.7:

我可以在目录(toc)中创建带有可点击书签的pdf,或者我可以创建一个带有"x of y"页码的pdf,但当我尝试同时执行这两个时,书签页(键)似乎会中断.

示例代码:

class MyDocTemplate(BaseDocTemplate):  
    def __init__(self, filename, **kw):
        self.allowSplitting = 0
        BaseDocTemplate.__init__(self, filename, **kw)
        template = PageTemplate('normal', [Frame(2.5*cm, 2.5*cm, 15*cm, 25*cm)]) #, id='F1'
        self.addPageTemplates(template)

def afterFlowable(self, flowable):
    if isinstance(flowable, Paragraph):
        txt = flowable.getPlainText()
        style = flowable.style.name
        if style == 'Heading1':
            key = 'h1-%s' % self.seq.nextf('heading1')
            self.canv.bookmarkPage(key)                
            self.notify('TOCEntry', (0, txt, self.page))
        elif style == 'Heading2':
            key = 'h2-%s' % self.seq.nextf('heading2')
            print key
            self.canv.bookmarkPage(key)
            self.notify('TOCEntry', (1, txt, self.page, key))

class NumberedCanvas(canvas.Canvas):
    def __init__(self, *args, **kwargs):
        canvas.Canvas.__init__(self, *args, …
Run Code Online (Sandbox Code Playgroud)

pdf-generation reportlab python-2.7

5
推荐指数
1
解决办法
2315
查看次数

标签 统计

pdf-generation ×1

python-2.7 ×1

reportlab ×1