解决方案1. 调整页面尺寸(缩放图片或页面)在创建 Document 或添加图片前,检查图片实际宽高,若超过限制则按比例缩放到合法范围内,再转换
● PDF 页面尺寸上限是 14400。iText 直接加载成功的大图可能超过这个限制,需要在 setPageSize 之前等比缩放。
361 float width = png1.getWidth();
362 float height = png1.getHeight();
363
364 + // PDF 页面尺寸上限 14400,超出则等比缩放
365 + float maxPageDim = 14400;
366 + if (width > maxPageDim || height > maxPageDim) {
367 + float scale = Math.min(maxPageDim / width, maxPageDim / height);
368 + png1.scalePercent(scale * 100);
369 + width = png1.getScaledWidth();
370 + height = png1.getScaledHeight();
371 + }
372 +
373 doc.setPageSize(new com.itextpdf.text.Rectangle(width, height));
374 doc.newPage();
375 png1.setAbsolutePosition(0, 0);
iText 直接加载成功 → 宽高 > 14400?→ 等比缩放到 14400 以内
iText 加载失败 → readImageScaled(最大 2000px,远低于 14400)
两条路径最终都保证页面尺寸在 PDF 规范上限内。