本文整理汇总了Python中reportlab.platypus.tableofcontents.TableOfContents类的典型用法代码示例。如果您正苦于以下问题:Python TableOfContents类的具体用法?Python TableOfContents怎么用?Python TableOfContents使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TableOfContents类的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: ReportGen
def ReportGen(request, owner_name):
buff=StringIO()
response = HttpResponse(mimetype='application/pdf')
response['Content-Disposition'] = 'attachment; filename=ReportOnShaastra.pdf'
sno=1
elements=[]
toc = TableOfContents()
# For conciseness we use the same styles for headings and TOC entries
toc.levelStyles = [h1, h2]
elements.append(Paragraph('Shaastra Report',centered))
elements.append(Paragraph('Table Of Contents',centered))
elements.append(toc)
elements.append(PageBreak())
position_on_page=PAGE_HEIGHT-FRAME_BORDER
users_in_department=userprofile.objects.filter(department = request.user.get_profile().department )
if is_core(request.user):
tasks=Task.objects.filter(creator__in = users_in_department ).order_by('creation_date')
elements.append(Paragraph('Tasks made by your Department',h1))
elements.append(big_spacer)
position_on_page = position_on_page - h1.fontSize - big_spacer_height
for task in tasks:
position_on_page,sno=ShowTask(request,elements,position_on_page,sno,task)
elements.append(PageBreak())
position_on_page=PAGE_HEIGHT-FRAME_BORDER
elements.append(Paragraph('SubTasks given to your Department',h1))
elements.append(big_spacer)
tasks=SubTask.objects.filter(department = request.user.get_profile().department ).order_by('creation_date')
position_on_page = position_on_page - h1.fontSize - big_spacer_height
for task in tasks:
position_on_page,sno=ShowSubTask(request,elements,position_on_page,sno,task)
elements.append(PageBreak())
position_on_page=PAGE_HEIGHT-FRAME_BORDER
sno=1
if is_core(request.user):
subtasks=SubTask.objects.filter(creator__in = users_in_department).order_by('creation_date')
elements.append(Paragraph('Sub-Tasks given to your coords',h1))
elements.append(big_spacer)
position_on_page = position_on_page - h1.fontSize - big_spacer_height
elif is_coord(request.user):
subtasks = request.user.subtask_set.all().order_by('creation_date')
elements.append(Paragraph('Sub-Tasks given to you',h1))
elements.append(big_spacer)
position_on_page = position_on_page - h1.fontSize - big_spacer_height
for subtask in subtasks:
position_on_page,sno=ShowSubTask(request,elements,position_on_page,sno,subtask)
doc = MyDocTemplate(buff)
doc.multiBuild(elements)
response.write(buff.getvalue())
return response
开发者ID:ShaastraWebops,项目名称:ERP,代码行数:60,代码来源:pdfMakeViews.py
示例2: create_toc
def create_toc():
"""Creates the table of contents"""
table_of_contents = TableOfContents()
table_of_contents.dotsMinLevel = 0
header1 = ParagraphStyle(name='Heading1', fontSize=16, leading=16)
header2 = ParagraphStyle(name='Heading2', fontSize=14, leading=14)
table_of_contents.levelStyles = [header1, header2]
return [table_of_contents, PageBreak()]
开发者ID:aquavitae,项目名称:pdfrw,代码行数:8,代码来源:platypus_pdf_template.py
示例3: getTabelOfContents
def getTabelOfContents():
"""
returns toc with 3 customized headings
"""
toc = TableOfContents()
toc.levelStyles = [
PS(fontSize=12, name='TOCHeading1', leftIndent=20, firstLineIndent=-20, spaceBefore=6, leading=14), #fontName='Times-Bold',
PS(fontSize=10, name='TOCHeading2', leftIndent=40, firstLineIndent=-20, spaceBefore=4, leading=12),
PS(fontSize=8, name='TOCHeading3', leftIndent=50, firstLineIndent=-20, spaceBefore=2, leading=10),
]
return toc
开发者ID:MarkusFries,项目名称:mubosym,代码行数:11,代码来源:autoreport.py
示例4: doTableOfContents
def doTableOfContents():
toc = TableOfContents()
toc.levelStyles = [
PS(fontName='Times-Bold', fontSize=14, name='TOCHeading1', leftIndent=20, firstLineIndent=-20, leading=14),
PS(fontSize=12, name='TOCHeading2', leftIndent=40, firstLineIndent=-20, leading=12),
]
text = 'Table of contents'
doHeading( text, PS(name = 'Heading1', fontName='Times-Bold', fontSize = 18, alignment = 1, leading = 16 ))
story.append(Spacer(1,6))
story.append(toc)
story.append(PageBreak())
开发者ID:leogao,项目名称:examples,代码行数:11,代码来源:generate_readme_pdf.py
示例5: test0
def test0(self):
"""Test story with TOC and a cascaded header hierarchy.
The story should contain exactly one table of contents that is
immediatly followed by a list of of cascaded levels of header
lines, each nested one level deeper than the previous one.
Features to be visually confirmed by a human being are:
1. TOC lines are indented in multiples of 1 cm.
2. Wrapped TOC lines continue with additional 0.5 cm indentation.
3. ...
"""
maxLevels = 12
# Create styles to be used for document headers
# on differnet levels.
headerLevelStyles = []
for i in range(maxLevels):
headerLevelStyles.append(makeHeaderStyle(i))
# Create styles to be used for TOC entry lines
# for headers on differnet levels.
tocLevelStyles = []
d, e = tableofcontents.delta, tableofcontents.epsilon
for i in range(maxLevels):
tocLevelStyles.append(makeTocHeaderStyle(i, d, e))
# Build story.
story = []
styleSheet = getSampleStyleSheet()
bt = styleSheet['BodyText']
description = '<font color=red>%s</font>' % self.test0.__doc__
story.append(XPreformatted(description, bt))
toc = TableOfContents()
toc.levelStyles = tocLevelStyles
story.append(toc)
for i in range(maxLevels):
story.append(Paragraph('HEADER, LEVEL %d' % i,
headerLevelStyles[i]))
#now put some body stuff in.
txt = randomtext.randomText(randomtext.PYTHON, 5)
para = Paragraph(txt, makeBodyStyle())
story.append(para)
path = outputfile('test_platypus_toc.pdf')
doc = MyDocTemplate(path)
doc.multiBuild(story)
开发者ID:eaudeweb,项目名称:naaya,代码行数:52,代码来源:test_platypus_toc.py
示例6: pagecat
def pagecat(request):
pdf1 = "pdf1.pdf"
pdf2 = "pdf2.pdf"
pdfs = [pdf1, pdf2]
#
Story = []
centered = ParagraphStyle(name='centered',
fontSize=30,
leading=16,
alignment=1,
spaceAfter=20)
h1 = ParagraphStyle(
name='Heading1',
fontSize=14,
leading=16)
h2 = ParagraphStyle(name='Heading2',
fontSize=12,
leading=14)
toc = TableOfContents()
toc.levelStyles = [
ParagraphStyle(fontName='Times-Bold', fontSize=20, name='TOCHeading1', leftIndent=20,
firstLineIndent=-20, spaceBefore=10, leading=16),
ParagraphStyle(fontSize=18, name='TOCHeading2', leftIndent=40, firstLineIndent=-20, spaceBefore=5, leading=12),
]
Story.append(toc)
manual_toc = True
if manual_toc:
cpt = 0
Story.append(Paragraph('<b>Table of contents</b>', centered))
for fname in pdfs:
Story.append(Paragraph('<includePdfPages filename="%s" pages="1" outlineText="crasher"/>' % fname, h1))
Story.append(Paragraph('%s' % fname, h2))
cpt = cpt + 1
doc = MyDocTemplate('mintoc.pdf')
doc.multiBuild(Story)
return render(request, "test.html")
开发者ID:verpoorten,项目名称:immobilier,代码行数:44,代码来源:pagecat.py
示例7: armar_pdf
def armar_pdf():
centered = PS(name = 'centered',
fontSize = 30,
leading = 16,
alignment = 1,
spaceAfter = 20)
h1 = PS(
name = 'Heading1',
fontSize = 14,
leading = 16)
h2 = PS(name = 'Heading2',
fontSize = 12,
leading = 14)
# Build story.
story = []
# Create an instance of TableOfContents. Override the level styles (optional)
# and add the object to the story
toc = TableOfContents()
toc.levelStyles = [
PS(fontName='Times-Bold', fontSize=20, name='TOCHeading1', leftIndent=20, firstLineIndent=-20, spaceBefore=10, leading=16),
PS(fontSize=18, name='TOCHeading2', leftIndent=40, firstLineIndent=-20, spaceBefore=5, leading=12),
]
story.append(toc)
story.append(Paragraph('<b>Table of contents</b>', centered))
story.append(PageBreak())
story.append(Paragraph('First heading', h1))
story.append(Paragraph('Text in first heading', PS('body')))
story.append(Paragraph('First sub heading', h2))
story.append(Paragraph('Text in first sub heading', PS('body')))
story.append(PageBreak())
story.append(Paragraph('Second sub heading', h2))
story.append(Paragraph('Text in second sub heading', PS('body')))
story.append(PageBreak())
story.append(Paragraph('Last heading', h1))
doc = MyDocTemplate('mintoc.pdf')
doc.multiBuild(story)
开发者ID:jgelvez,项目名称:Tor-k,代码行数:44,代码来源:pdfs.py
示例8: __init__
def __init__(self,doc):
self.docname = doc
self.page_counter = 2
self.w,self.h = letter
self.doc = BaseDocTemplate(self.docname,pagesize=letter)
self.landscape = Frame(self.doc.leftMargin,
self.doc.bottomMargin,
self.doc.height,
self.doc.width,
id="Normal")
self.portrait = Frame(self.doc.leftMargin,
self.doc.bottomMargin,
self.doc.width,
self.doc.height,
id="Normal")
self.tportrait = Frame(self.doc.leftMargin,
self.doc.bottomMargin,
self.doc.width,
self.doc.height,
id="Normal")
ttemplate = PageTemplate(id='tportrait',frames =self.tportrait, onPage=self.make_title_page)
ptemplate = PageTemplate(id='portrait',frames =self.portrait, onPage=self.make_portrait)
ltemplate = PageTemplate(id='landscape',frames =self.landscape, onPage=self.make_landscape)
self.doc.addPageTemplates([ttemplate,ptemplate,ltemplate])
self.styles = getSampleStyleSheet()
self.toc = TableOfContents()
self.start = ""
self.end = ""
self.story = []
self.pgType = "Letter"
self.image = ""
self.cimage = ""
self.client = ""
self.toc = TableOfContents()
self.toc.levelStyles = [
PS(fontName='Times-Bold', fontSize=14, name='TOCHeading1', leftIndent=20, firstLineIndent=-20, spaceBefore=10, leading=16),
PS(fontSize=12, name='TOCHeading2', leftIndent=40, firstLineIndent=-20, spaceBefore=5, leading=12),
]
开发者ID:ddfelts,项目名称:hawk2.0,代码行数:42,代码来源:hawkPDF.py
示例9: __init__
def __init__(self, *args, **kwargs):
# The parent argument is to define the locality of
# the TOC. If it's none, it's a global TOC and
# any heading it's notified about is accepted.
# If it's a node, then the heading needs to be "inside"
# that node. This can be figured out because
# the heading flowable keeps a reference to the title
# node it was creatd from.
#
# Yes, this is gross.
self.parent=kwargs.pop('parent')
TableOfContents.__init__(self, *args, **kwargs)
# reference ids for which this TOC should be notified
self.refids = []
# revese lookup table from (level, text) to refid
self.refid_lut = {}
self.linkColor = "#0000ff"
开发者ID:bemre,项目名称:cdap,代码行数:20,代码来源:flowables.py
示例10: PS
if flowable.__class__.__name__ == 'Paragraph':
text = flowable.getPlainText()
style = flowable.style.name
if style == 'Heading1':
self.notify('TOCEntry', (0, text, self.page))
if style == 'Heading2':
self.notify('TOCEntry', (1, text, self.page))
h1 = PS(name = 'Heading1',
fontSize = 14,
leading = 16)
h2 = PS(name = 'Heading2',
fontSize = 12,
leading = 14,
leftIndent = delta)
#
story = []
toc = TableOfContents()
# For conciseness we use the same styles for headings and TOC entries
toc.levelStyles = [h1, h2]
story.append(toc)
story.append(PageBreak())
story.append(Paragraph('First heading', h1))
story.append(Paragraph('Text in first heading', PS('body')))
story.append(Paragraph('First sub heading', h2))
story.append(Paragraph('Text in first sub heading', PS('body')))
story.append(PageBreak())
story.append(Paragraph('Second sub heading', h2))
story.append(Paragraph('Text in second sub heading', PS('body')))
story.append(Paragraph('Last heading', h1))
doc = MyDocTemplate('mintoc.pdf')
doc.multiBuild(story)
开发者ID:PREM1980,项目名称:ecomstore,代码行数:31,代码来源:testpdf.py
示例11: title
__version__ = '$Id$'
from tools.docco.rl_doc_utils import *
from reportlab.platypus.tableofcontents import TableOfContents
from datetime import datetime
import reportlab
title("ReportLab PDF Library")
title("User Guide")
centred('ReportLab Version ' + reportlab.Version)
centred(datetime.now().strftime('Document generated on %Y/%m/%d %H:%M:%S %Z'))
nextTemplate("TOC")
headingTOC()
toc = TableOfContents()
PS = ParagraphStyle
toc.levelStyles = [
PS(fontName='Times-Bold', fontSize=14, name='TOCHeading1', leftIndent=20, firstLineIndent=-20, spaceBefore=5, leading=16),
PS(fontSize=12, name='TOCHeading2', leftIndent=40, firstLineIndent=-20, spaceBefore=0, leading=12),
PS(fontSize=10, name='TOCHeading3', leftIndent=60, firstLineIndent=-20, spaceBefore=0, leading=12),
PS(fontSize=10, name='TOCHeading4', leftIndent=100, firstLineIndent=-20, spaceBefore=0, leading=12),
]
getStory().append(toc)
nextTemplate("Normal")
########################################################################
#
# Chapter 1
#
开发者ID:QGIS-Unibern,项目名称:MasterPlugin,代码行数:31,代码来源:ch1_intro.py
示例12: split
def split(self, aW, aH):
# Make sure _table exists before splitting.
# This was only triggered in rare cases using sphinx.
if not self._table:
self.wrap(aW,aH)
return TableOfContents.split(self, aW, aH)
开发者ID:bemre,项目名称:cdap,代码行数:6,代码来源:flowables.py
示例13: __init__
def __init__(self, ext):
self.ext = re.compile(r'([^.]*)\.' + ext)
return TableOfContents.__init__(self)
开发者ID:dolvany,项目名称:dtrace-stap-book,代码行数:3,代码来源:pdf.py
示例14: __init__
class cwPDF:
def __init__(self,doc):
self.docname = doc
self.page_counter = 2
self.w,self.h = letter
self.doc = BaseDocTemplate(self.docname,pagesize=letter)
self.landscape = Frame(self.doc.leftMargin,
self.doc.bottomMargin,
self.doc.height,
self.doc.width,
id="Normal")
self.portrait = Frame(self.doc.leftMargin,
self.doc.bottomMargin,
self.doc.width,
self.doc.height,
id="Normal")
self.tportrait = Frame(self.doc.leftMargin,
self.doc.bottomMargin,
self.doc.width,
self.doc.height,
id="Normal")
ttemplate = PageTemplate(id='tportrait',frames =self.tportrait, onPage=self.make_title_page)
ptemplate = PageTemplate(id='portrait',frames =self.portrait, onPage=self.make_portrait)
ltemplate = PageTemplate(id='landscape',frames =self.landscape, onPage=self.make_landscape)
self.doc.addPageTemplates([ttemplate,ptemplate,ltemplate])
self.styles = getSampleStyleSheet()
self.start = ""
self.end = ""
self.story = []
self.pgType = "Letter"
self.image = ""
self.cimage = ""
self.client = ""
self.toc = TableOfContents()
self.toc.levelStyles = [
PS(fontName='Times-Bold', fontSize=10, name='TOCHeading1', leftIndent=20, firstLineIndent=-20, spaceBefore=10, leading=16),
PS(fontSize=10, name='TOCHeading2', leftIndent=40, firstLineIndent=-20, spaceBefore=5, leading=12),
]
def addTOC(self, page):
self.toc.beforeBuild()
self.story.insert(page, NextPageTemplate('portrait'))
self.story.insert(page+1, self.toc);
self.story.insert(page+2, PageBreak())
def setCImage(self,image):
self.cimage = image
def setPImage(self,image):
self.image = image
def setTitle(self,text):
self.title = text
def setClient(self,text):
self.client = text
def setDates(self,start,end):
self.startDate = start
self.endDate = end
def setClient(self,text):
self.client = text
def make_portrait(self,canvas,doc):
canvas.saveState()
canvas.setPageSize(letter)
canvas.setFont("Times-Roman",10)
canvas.drawString(6.25 * inch, self.h - 25,"Client Name: %s " % (self.client))
canvas.line(.50 * inch, self.h - 33, 8 * inch, self.h - 33)
canvas.line(.50 * inch,.50 * inch, 8 * inch,.50 * inch)
canvas.drawString(inch * 7.25, 0.25 * inch, "Page %d" % doc.page)
canvas.drawString(inch * .50, 0.25 * inch, "Confidential Document.")
canvas.restoreState()
def make_landscape(self,canvas,doc):
canvas.saveState()
canvas.setFont("Times-Roman",10)
canvas.setPageSize(landscape(letter))
canvas.line(.50 * inch, self.w - 33, 10.75 * inch,self.w - 33)
canvas.line(.50 * inch,.50 * inch, 10.75 * inch,.50 * inch)
canvas.drawString(inch * 10.75, 0.75 * inch, "Page %d" % doc.page)
canvas.drawString(inch * 1.75, 0.75 * inch, "Confidential Document.")
canvas.drawString(9.50 * inch,self.w - 25 ,"Client: %s" % self.client)
canvas.restoreState()
def make_title_page(self,canvas,doc):
canvas.saveState()
canvas.setFont("Times-Bold",20)
canvas.setFillColor(lightblue)
canvas.drawString(1 * inch,9 * inch , self.title)
canvas.setFont("Times-Bold",12)
canvas.setFillColor(black)
#.........这里部分代码省略.........
开发者ID:ddfelts,项目名称:CWatchAPI,代码行数:101,代码来源:cwatchPDF.py
示例15: ParagraphStyle
s_normal = styles['Normal']
s_right = ParagraphStyle(name='Right', parent=styles['Normal'], alignment=TA_RIGHT)
s_center = ParagraphStyle(name='Center', parent=styles['Normal'], alignment=TA_CENTER)
s_h1 = styles['Heading1']
s_h1_center = styles['Heading1']
s_h1_center.alignment = TA_CENTER
s_h1n = ParagraphStyle(name='Heading1n', parent=styles['Normal'], fontSize=18, leading=22, spaceAfter=6, alignment=TA_CENTER)
s_h1_toc = ParagraphStyle(name='Heading1toc', parent=styles['Heading1'], fontName='Helvetica', fontSize=16, leading=22, spaceBefore=4, spaceAfter=6, alignment=TA_LEFT)
s_h2_toc = ParagraphStyle(name='Heading2toc', parent=styles['Heading2'], fontName='Helvetica', fontSize=13, leading=22, spaceBefore=2, spaceAfter=4, alignment=TA_LEFT)
s_h2 = styles['Heading2']
s_code = styles['Code']
doc = None
story = []
toc = TableOfContents()
toc.levelStyles = [s_h1_toc, s_h2_toc]
global_alignment_generated = False
local_alignment_generated = False
def add_page_number(canvas, _):
canvas.saveState()
canvas.setFont('Helvetica', 9)
text = "Page %s" % canvas.getPageNumber()
canvas.drawRightString(A4[0] - 0.4 * inch, 0.25 * inch, text)
canvas.restoreState()
def generate_splitline(width, height, color_a=chartreuse, color_b=coral):
开发者ID:gyfis,项目名称:sequence-comparison,代码行数:30,代码来源:platypus.py
示例16: WikiDocTemplate
print "- >" + text
if __name__ == '__main__':
doc = WikiDocTemplate("manual.pdf", leftMargin= 0.5*inch, rightMargin= 0.5*inch,
topMargin= 0.5*inch, bottomMargin= 0.25*inch)
story = []
# Title Page
story.append(Spacer(0, 3.5*inch))
story.append(Paragraph(TITLE, styles['Title']))
story.append(PageBreak())
# Table of Contents
toc = TableOfContents()
toc.levelStyles = [styles['Normal']] * 6
story.append(toc)
story.append(PageBreak())
parser = ContentParser(story)
html = urllib2.urlopen(ROOT + "/knowledgebase").read().decode('utf8')
parser.feed(html)
parser.close()
# crawl_page("/knowledgebase/articles/171592-how-to-print-your-tracks", story)
print story
print "Building PDF..."
# Build PDF
开发者ID:trailbehind,项目名称:UserVoice-Knowledgebase-to-PDF,代码行数:31,代码来源:uservoiceToPDF.py
示例17: TableOfContents
coverData.append(['MD5 check', 'failed'])
log.info("MD5 check failed")
t=Table(coverData, colWidths=[200, 300])
t.setStyle(tableStyleStandard)
Story.append(t)
Story.append(NextPageTemplate('Later'))
Story.append(PageBreak())
# ----------- Table of Contents ----------------------------------------------------------------
Story.append(Paragraph("<font size=12>Table of Contents</font>", styles["Normal"]))
Story.append(Spacer(1, 6))
toc = TableOfContents()
toc.dotsMinLevel = 0
toc.levelStyles = [
ParagraphStyle(
fontName='Times-Bold',
fontSize=12,
name='TOCHeading1',
leftIndent=20,
firstLineIndent=-20,
spaceBefore=5,
leading=6
),
ParagraphStyle(
fontSize=10,
name='TOCHeading2',
leftIndent=40,
开发者ID:PicciMario,项目名称:SimBrush,代码行数:31,代码来源:report.py
注:本文中的reportlab.platypus.tableofcontents.TableOfContents类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论