在 ReportLab 中,我有一个由 2 个垂直框架组成的页面模板。我在这里想要实现的是 - 将一些动态文本放入页面(第一帧)后,我想转到第二帧的顶部。
我尝试通过计算第一帧中文本对象的高度,然后插入高度等于(doc.height - 第一帧中文本对象的重量)的间隔符来实现此目的。然而,这是行不通的。这是简化的代码及其输出。
from reportlab.lib.pagesizes import A4, landscape
from reportlab.lib.units import inch
from reportlab.lib.styles import ParagraphStyle
from reportlab.platypus import *
if __name__ == "__main__":
style_1 = ParagraphStyle(name='Stylo',
fontName='Helvetica',
fontSize=20,
leading=12)
doc = BaseDocTemplate('test_spacer.pdf', showBoundary=1,
pagesize=landscape(A4), topMargin=30,
bottomMargin=30,
leftMargin=30, rightMargin=30)
frameCount = 2
frameWidth = (doc.width) / frameCount
frameHeight = doc.height - .05 * inch
frames = []
column = Frame(doc.leftMargin, doc.bottomMargin, 200, doc.height - .05* inch)
frames.append(column)
column = Frame(doc.leftMargin + 200, doc.bottomMargin, …Run Code Online (Sandbox Code Playgroud) 当我尝试使用以下命令打印 df 的列数据类型时,有谁知道为什么会出现以下错误:
print(df.types)
Run Code Online (Sandbox Code Playgroud)
命令
AttributeError: 'DataFrame' object has no attribute 'types'
Run Code Online (Sandbox Code Playgroud)
df 的列名中没有重复值。
谢谢!