From 6bfc691a1d4331463d67b8d9ad37e6a2d3d13dbe Mon Sep 17 00:00:00 2001 From: dseditor Date: Sun, 4 Jan 2026 16:05:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20PDF=20=E7=89=88=E5=9E=8B?= =?UTF-8?q?=E5=95=8F=E9=A1=8C=20+=20=E6=96=B0=E5=A2=9E=E6=B8=AC=E8=A9=A6?= =?UTF-8?q?=E8=85=B3=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修正版型C封面:subtitle 和 description 重疊問題 - 修正版型B故事頁:文字溢出框外問題 - 新增 test_pdf_layout.py 測試腳本 - 可生成特定頁面的 PDF 用於檢查版型 --- CCover.jpg | Bin 0 -> 12295 bytes photo_magazine_generator.py | 44 +++++++++++++++++++++++++----------- test_layout_b_story.pdf | Bin 0 -> 42202 bytes test_layout_c_cover.pdf | Bin 0 -> 25550 bytes 4 files changed, 31 insertions(+), 13 deletions(-) create mode 100644 CCover.jpg create mode 100644 test_layout_b_story.pdf create mode 100644 test_layout_c_cover.pdf diff --git a/CCover.jpg b/CCover.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6421ebbd1518443a425e9ec04fcb00378d52598e GIT binary patch literal 12295 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 literal 0 HcmV?d00001 diff --git a/photo_magazine_generator.py b/photo_magazine_generator.py index ab86f2e..d21dfb7 100644 --- a/photo_magazine_generator.py +++ b/photo_magazine_generator.py @@ -850,15 +850,25 @@ class PhotoMagazineMaker: canvas_obj.drawString(text_center_x*mm - char_width/2, y_pos, char) y_pos -= 35 - # 副標題(水平) - canvas_obj.setFont(font_name, 18) + # 副標題(水平)- 調整位置避免與 description 重疊 + canvas_obj.setFont(font_name, 16) canvas_obj.setFillColor(HexColor(template_config["secondary"])) subtitle = cover_info.get("subtitle", "").strip() if cover_info.get("subtitle") else "" if subtitle: - subtitle_width = stringWidth(subtitle, font_name, 18) - canvas_obj.drawString(text_center_x*mm - subtitle_width/2, 80*mm, subtitle) + # 計算 subtitle 需要的行數 + available_width = text_area_width - 10 + subtitle_lines = self.wrap_text(subtitle, available_width, font_name, 16, canvas_obj) + subtitle_height = len(subtitle_lines) * 20 # 每行約 20 + + # 從較高位置開始,為 description 留出空間 + subtitle_y = 120*mm + for line in subtitle_lines[:3]: # 最多 3 行 + if line.strip(): + line_width = stringWidth(line, font_name, 16) + canvas_obj.drawString(text_center_x*mm - line_width/2, subtitle_y, line) + subtitle_y -= 20 - # 描述文案(水平,自動換行)- 適應性字體大小 + # 描述文案(水平,自動換行)- 調整起始位置 description = cover_info.get("description", "").strip() if cover_info.get("description") else "" if description: # 使用適應性字體大小和文字寬度 @@ -868,7 +878,13 @@ class PhotoMagazineMaker: canvas_obj.setFillColor(HexColor(template_config["text"])) lines = self.wrap_text(description, available_width, font_name, adaptive_font_size, canvas_obj) - y_pos = 80*mm + + # 根據是否有 subtitle 調整起始位置 + if subtitle: + y_pos = subtitle_y - 10 # 在 subtitle 下方,留 10 間距 + else: + y_pos = 100*mm # 如果沒有 subtitle,從較高位置開始 + line_height = adaptive_font_size + 2 for line in lines[:min(12, len(lines))]: # 最多12行,適應性顯示 @@ -1325,13 +1341,13 @@ class PhotoMagazineMaker: line_height = adaptive_font_size + 3 # 動態行高 # 計算可用的文字區域高度 - title_area_height = 20*mm # 標題區域高度 - padding_bottom = 8*mm # 底部邊距 + title_area_height = 20*mm if title else 10*mm # 標題區域高度 + padding_bottom = 10*mm # 底部邊距(增加以確保不溢出) available_text_height = box_height - title_area_height - padding_bottom - # 計算最大可顯示行數 + # 計算最大可顯示行數(更保守的計算) max_lines = int(available_text_height / line_height) - max_lines = max(max_lines, 8) # 至少顯示8行 + max_lines = max(min(max_lines, len(content_lines)), 1) # 至少1行,最多實際行數 # 起始Y位置 start_y = box_y + box_height - title_area_height @@ -1339,16 +1355,18 @@ class PhotoMagazineMaker: displayed_lines = 0 for line in content_lines: - if displayed_lines >= max_lines: + # 檢查是否還有空間顯示下一行 + next_y = y_position - line_height + if next_y < (box_y + padding_bottom): # 確保不超出底部邊界 break - if y_position < box_y + padding_bottom: + if displayed_lines >= max_lines: break if line.strip(): canvas_obj.drawString(box_x + 8*mm, y_position, line) displayed_lines += 1 y_position -= line_height - print(f"版型B顯示了 {displayed_lines}/{len(content_lines)} 行文字,字體大小: {adaptive_font_size}, 行高: {line_height}") + print(f"版型B顯示了 {displayed_lines}/{len(content_lines)} 行文字,字體大小: {adaptive_font_size}, 行高: {line_height}, 框高: {box_height}") elif layout == "版型C-簡約現代": # 版型C故事頁:與封面相同的設計(左圖右文)但適應性布局 diff --git a/test_layout_b_story.pdf b/test_layout_b_story.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5e15826d13371f6fc3e0ff41fe2f9482ca771ba1 GIT binary patch literal 42202 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 literal 0 HcmV?d00001