ユーザーの選択に基づいてテキストのブロックを生成するコードがあります。これらのテキスト ブロックの高さは、ユーザーが選択したアイテムの数によって異なります。私がやろうとしているのは、これらのブロックが最も効率的な方法でページに配置されるようにすることです。
たとえば、セクション 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 #* *|
|# #* *|
|#########**********|
____________________
2 つの画像は常に同じ場所にあり、同じサイズです。
また、これは Web での使用ではなく PDF の生成用であるため、CSS と Javascript はオプションではないことに注意してください。私が使用している環境では、Python コードのみが許可されています。