1
我正在生成足夠長的表以進入第二頁。我想實現的是在第二頁上SPAN 4行。我使用TableStyle中的follwing代碼來完成它。Python - Reportlab:爲什麼在第二頁的超過兩行的SPAN返回錯誤?
('SPAN', (0,38), (0,41))
兩行的量程雖然工作。 ( 'SPAN',(0,38),(0,39))
這裏有一個代碼:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from reportlab.platypus import SimpleDocTemplate, Table, LongTable, TableStyle, BaseDocTemplate, Frame, Paragraph, NextPageTemplate, PageTemplate
from reportlab.lib.pagesizes import letter, inch
from reportlab.lib import colors
def testPdf():
doc = BaseDocTemplate("testpdf.pdf",pagesize=letter,
rightMargin=72,leftMargin=72,
topMargin=72,bottomMargin=18, showBoundary=True)
width, height = letter
print width
print height
elements = []
datas = []
for x in range(1,50):
datas.append(
[x,x+1]
)
t=LongTable(datas)
tTableStyle=[
('SPAN', (0,38), (0,41)),
('INNERGRID', (0,0), (-1,-1), 0.25, colors.black),
('BOX', (0,0), (-1,-1), 0.25, colors.black),
]
t.setStyle(TableStyle(tTableStyle))
elements.append(t)
frameT = Frame(doc.leftMargin, doc.bottomMargin, doc.width, doc.height, id='normal')
doc.addPageTemplates([PageTemplate(id='OneCol',frames=frameT)])
doc.build(elements)
if __name__ == '__main__':
testPdf()
感謝回覆gordon,對於我的應用程序,我手動分割了表格,但我希望澄清,我懷疑是執行算法的問題。我查了一下他們的郵件列表,這個問題的回覆是無奈的。我稍後會在他們的郵件列表上發佈這個問題。 – 2012-04-24 06:12:35
即使手動拆分表格也不能解決這個問題,在手動拆分表格以適合每個頁面之後,我需要確保前一頁的底部邊距和下一頁的頂部邊距幾乎相同。可以通過追加Spacer來完成。我的項目的一個bitbucket鏈接:https://bitbucket.org/ntj/reportlab_imko_table – 2012-04-24 06:28:57