From ddf1d0a2330e02c1bb7fb93a057dd2623fa262e7 Mon Sep 17 00:00:00 2001 From: liuwei Date: Thu, 29 May 2025 10:56:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A8=E6=80=81=E5=9B=BE=E7=89=87=E9=AB=98?= =?UTF-8?q?=E5=BA=A6=EF=BC=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/markdown_to_image.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/utils/markdown_to_image.py b/utils/markdown_to_image.py index 02bf75c..072df05 100644 --- a/utils/markdown_to_image.py +++ b/utils/markdown_to_image.py @@ -214,9 +214,13 @@ async def html_to_image(html_file, output_image): try: page = await browser.new_page() await page.goto(f'file://{os.path.abspath(html_file)}') - await page.set_viewport_size({"width": 750, "height": 800}) - await page.wait_for_timeout(500) - await page.screenshot(path=output_image, full_page=True) + # 获取页面内容的实际高度 + content_height = await page.evaluate("document.body.scrollHeight") + # 设置视口大小,宽度固定为 750,高度根据内容动态调整(加 50px 缓冲) + await page.set_viewport_size({"width": 750, "height": content_height + 50}) + await page.wait_for_timeout(500) # 等待渲染 + await page.screenshot(path=output_image, full_page=False) # full_page=False 以使用视口大小 + print(f"图片生成成功,动态高度: {content_height + 50}px") except Exception as e: print(f"截图失败: {e}") finally: