From 5a3fa6bf20a05fa7a84f6a04a84c80e9c7002fe3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E8=BF=9B?= Date: Mon, 27 Jul 2026 16:29:43 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20convert-browser.js=20=E7=94=BB=E5=B8=83?= =?UTF-8?q?=E5=B0=BA=E5=AF=B8=E5=92=8C=20convert-w2p.js=20=E5=90=8C?= =?UTF-8?q?=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 多slide用容器尺寸,单slide用canvas(限制140cm) --- web-to-ppt/convert-browser.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/web-to-ppt/convert-browser.js b/web-to-ppt/convert-browser.js index 05cded3..2bf7868 100644 --- a/web-to-ppt/convert-browser.js +++ b/web-to-ppt/convert-browser.js @@ -506,11 +506,15 @@ async function convertToPptx(input, onProgress) { slides.push({ background: slideBg, objects }); } - // 6. 画布尺寸 - const slideW2 = canvas.width || (slideGroups.length > 0 ? slideGroups[0].slideRect.w : 1920); - const slideH2 = Math.min(canvas.height || 1080, MAX_H_IN * 72); - const sw = slideW2 / 72; - const sh = Math.min(slideH2 / 72, MAX_H_IN); + // 6. 画布尺寸:多slide用容器尺寸,单slide用canvas(限制140cm) + var sizeSource; + if (slideGroups.length > 1) { + sizeSource = slideGroups[0].slideRect; + } else { + sizeSource = { w: canvas.width || 1920, h: Math.min(canvas.height || 1080, MAX_H_IN * 72) }; + } + const sw = sizeSource.w / 72; + const sh = Math.min(sizeSource.h / 72, MAX_H_IN); return { presentation: { layout: 'CUSTOM', slideWidth: sw, slideHeight: sh },