You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PDF4NET v13.2.1页面创建与尺寸/方向设置技术咨询

PDF4NET 13.2.1 API变更问题解答

1. 当前创建PDF页面的方式是否正确?

是正确的。PDF4NET 13.x版本完成了API重构,核心适配点包括:

  • 采用PDFFixedDocument作为PDF文档的核心容器,替代旧版文档对象
  • 推荐使用PDFImage直接加载图片,不再依赖System.Drawing.Image,规避了GDI+相关的兼容性问题
  • 通过pdfDoc.Pages.Add()添加页面的逻辑完全符合新版本API规范

2. 如何设置页面尺寸与方向?

分两种场景提供实现方案:

场景1:使用预设页面尺寸(如A4)

新版本通过PDFPageMediaBox配置标准页面尺寸,结合Orientation属性调整横竖方向:

PDFImage objImage = new PDFImage(imgPath);
PDFFixedDocument pdfDoc = new PDFFixedDocument();
PDFPage page = pdfDoc.Pages.Add();

// 设置为A4横向页面
page.MediaBox = PDFPageMediaBox.CreateStandardMediaBox(PDFPageSize.A4);
page.Orientation = PDFPageOrientation.Landscape;

// 保持图片比例绘制到页面
page.Canvas.DrawImage(objImage, 0, 0, page.Width, page.Height, PDFKeepAspectRatio.KeepBoth);

场景2:自定义页面尺寸(如匹配图片尺寸)

若需要页面尺寸与图片完全一致,直接设置Width和Height即可;如需调整方向,可交换宽高或设置Orientation:

PDFImage objImage = new PDFImage(imgPath);
PDFFixedDocument pdfDoc = new PDFFixedDocument();
PDFPage page = pdfDoc.Pages.Add();

// 匹配图片原尺寸
page.Width = objImage.Width;
page.Height = objImage.Height;

// 若要横向显示,可交换图片宽高作为页面尺寸
// page.Width = objImage.Height;
// page.Height = objImage.Width;
// 或通过Orientation属性自动交换页面宽高
// page.Orientation = PDFPageOrientation.Landscape;

// 绘制图片到页面
page.Canvas.DrawImage(objImage, 0, 0, page.Width, page.Height);

内容的提问来源于stack exchange,提问作者Xion

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 08:50:02