C#如何无需付费许可实现PDF横向页面转为纵向
无授权成本的C# PDF横向页面转纵向实现方案
可用开源库(无商用许可要求)
以下库均采用MIT/Apache等宽松开源协议,个人和商用场景均可免费使用,不需要购买任何授权:
- PdfSharp:MIT协议,生态完善,支持PDF页面编辑、旋转等常用操作
- PdfiumViewer:Apache 2.0协议,基于谷歌PDFium内核,兼容性更强
- iTextSharp 4.x版本:LGPL协议,只要不修改库源码即可免费商用
PdfSharp 实现示例
第一步:安装依赖
在NuGet包管理器中搜索安装 PdfSharp 官方版本即可。
代码实现
using PdfSharp.Pdf; using PdfSharp.Pdf.IO; public void AdjustPdfPageOrientation(string inputPath, string outputPath) { // 打开待处理PDF文件 using (PdfDocument pdfDoc = PdfReader.Open(inputPath, PdfDocumentOpenMode.Modify)) { foreach (PdfPage page in pdfDoc.Pages) { // 判定横向页面:页面宽度大于高度 if (page.Width.Point > page.Height.Point) { // 旋转90度转为纵向,若内容方向相反可改为 +270 page.Rotate = (page.Rotate + 90) % 360; // 交换宽高匹配纵向尺寸 (page.Width, page.Height) = (page.Height, page.Width); } } // 输出处理后的文件 pdfDoc.Save(outputPath); } }
注意事项
- 若待处理PDF存在加密限制,可配合同开源协议的PDF解密工具提前处理,无额外授权成本
- 部分特殊排版的横向页面旋转后可能存在内容偏移,可通过调整页面坐标参数适配,不需要引入额外付费组件
内容的提问来源于stack exchange,提问作者Ibrahim shaikh
相关产品推荐
相关产品推荐

