让第二列的数据留在第二列
Make the data from the second column stay at the second column
我正在使用 reportlab 制作一个表格,它分为两列。第二列只是第一列的副本。
我使用 Frame() 函数创建了两列,我使用了 Spacer() 函数将原始表单与复制的表单分成两列。
我的预期结果是让第二列的数据保持原样。但我得到的结果是,当第一列的数据变短时,第二列开始向上移动并移动到第一列。
如果我答对了你的问题,问题是你使用间隔符来控制内容在两个 columns/frames 中的视觉位置。这样,您将其视为一分为二的单个长列,同时您需要将其视为两个单独的列(两个单独的框架)。
因此,如果您结束第一帧(在开始填充另一帧之前使用 FrameBreak() 并且仅使用间隔符来控制同一帧内的任何视觉设计,您将获得更好的控制。
您需要了解的工具有:
FrameBreak(),如果你搜索它,你会发现很多代码示例。
例如您用 10 行文本填充第 1 帧,然后插入 FramBreak() 并指示脚本开始填充第二列。
您应该注意的另一个工具是使用的设置,例如 BaseDocTemplate:
allowSplitting:如果设置为 1,可流动内容(例如,段落)可以跨框架或页面拆分。如果为 0,则强制内容进入同一帧。 (默认值:1,禁用 0)。
我正在使用 reportlab 制作一个表格,它分为两列。第二列只是第一列的副本。
我使用 Frame() 函数创建了两列,我使用了 Spacer() 函数将原始表单与复制的表单分成两列。
我的预期结果是让第二列的数据保持原样。但我得到的结果是,当第一列的数据变短时,第二列开始向上移动并移动到第一列。
如果我答对了你的问题,问题是你使用间隔符来控制内容在两个 columns/frames 中的视觉位置。这样,您将其视为一分为二的单个长列,同时您需要将其视为两个单独的列(两个单独的框架)。
因此,如果您结束第一帧(在开始填充另一帧之前使用 FrameBreak() 并且仅使用间隔符来控制同一帧内的任何视觉设计,您将获得更好的控制。
您需要了解的工具有: FrameBreak(),如果你搜索它,你会发现很多代码示例。
例如您用 10 行文本填充第 1 帧,然后插入 FramBreak() 并指示脚本开始填充第二列。
您应该注意的另一个工具是使用的设置,例如 BaseDocTemplate:
allowSplitting:如果设置为 1,可流动内容(例如,段落)可以跨框架或页面拆分。如果为 0,则强制内容进入同一帧。 (默认值:1,禁用 0)。