From 1818833cc5530bf956d9f7ea6e0c75d78e9e84a9 Mon Sep 17 00:00:00 2001 From: vincent Date: Fri, 21 Jul 2023 16:16:52 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8C=E7=A8=8B=E7=A2=91v3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 33 ++------------------------------- 1 file changed, 2 insertions(+), 31 deletions(-) diff --git a/main.py b/main.py index aee6c9f..d6fbf12 100644 --- a/main.py +++ b/main.py @@ -8,7 +8,6 @@ from PIL import Image import io from reportlab.lib.pagesizes import letter from reportlab.pdfgen import canvas -from utils import ArrayUtil def get_html(url, max_retries=3): @@ -97,34 +96,6 @@ def save_images_to_directory(img_obj_list, directory_path): print(f"图片保存失败:{e}") -def generate_pdf_from_images(img_obj_list, output_file): - try: - c = canvas.Canvas(output_file, pagesize=letter) - - for img_obj in img_obj_list: - # 从图片对象的 data 字段中创建图像对象 - img_data = img_obj["data"] - img = Image.open(io.BytesIO(img_data)) - - # 将图像大小调整为 PDF 页面大小 - img_width, img_height = img.size - pdf_width, pdf_height = letter - scale = min(pdf_width / img_width, pdf_height / img_height) - new_width, new_height = int(img_width * scale), int(img_height * scale) - img = img.resize((new_width, new_height), Image.ANTIALIAS) - - # 将图像添加到 PDF 页面中 - c.drawInlineImage(img, 0, 0, width=new_width, height=new_height) - - # 创建新的页面 - c.showPage() - - c.save() - print("PDF 生成成功!") - except Exception as e: - print(f"PDF 生成失败:{e}") - - def concatenate_images_vertically(img_obj_list, output_file): try: # 计算拼接后的长图宽度和总高度 @@ -148,7 +119,7 @@ def concatenate_images_vertically(img_obj_list, output_file): y_offset += img_height # 保存拼接后的长图到本地 - # long_image.save(output_file) + long_image.save(output_file) except Exception as e: @@ -173,7 +144,7 @@ def process_batch(lines): # save_images_to_directory(img_obj_list, directory_path="imgs") concatenate_images_vertically( - img_obj_list, output_file=f"imgs/{file_name}.pdf" + img_obj_list, output_file=f"imgs/{file_name}.png" )