我有一些代码可以根据用户的选择生成文本块。这些文本块的高度取决于用户选择了多少项。我正在尝试做的是确保这些块以最有效的方式排列在页面上。
例如,第1部分的高度为250点,第2部分的高度为650点。如果用户选择:
来自形式a的400点的内容来自形式
b的200点的内容来自部分c的
250点的内容来自部分d的
50点的内容
如何确保b部分和d部分进入第1部分,a&c部分进入第2部分?
到目前为止,这是我的代码:
section1_height = 250
section2_height = 650
#list1 and list2 are the variables that contain the user selections
Column1 = DWIMBLOCK([list1], (18, 430), (LEFT, TOP_BASELINE), (250, 250))
Column2 = DWIMBLOCK([list2], (275, 430), (LEFT, TOP_BASELINE), (250, 650))
columns = [Column1, Column2]
sec1_columns = []
sec2_columns = []
for column in columns:
if column.height <= 250:
sec1_columns.append(column)
for shorts in sec1_columns:
if #This is where I am stuck
如您所见,我将我的专栏分为小于250点高的那些专栏,但是现在我陷入了尝试按照“if sum of any number of blocks <= 250, assign those blocks to a new list我应该如何去做?”的思路做些事情。谢谢!
更新:
这是布局的粗略轮廓,以便您可以更清晰地看到图片。
____________________
|#########**********|
|# image #* *|
|#########* *|
|********** *|
|* ** *|
|*sec. 1 ** *|
|* **sec. 2 *|
|********** *|
|#########* *|
|# #* *|
|# image #* *|
|# #* *|
|#########**********|
____________________
这两个图像始终位于相同的位置且具有相同的大小。
还应该注意的是,这是供PDF生成的,而不是用于Web的,因此CSS和Javascript不是选项。我正在使用的环境仅允许使用Python代码。
杨魅力
随时随地看视频慕课网APP
相关分类