GroupDocs.Merger 21.8对PDF执行ChangeOrientation操作提示不支持如何解决
报错原因
- 你使用的21.8版本GroupDocs.Merger中,
ChangeOrientation接口原生不支持PDF格式的操作,该接口在该版本仅对DOCX、XLSX、PPTX等Office类文档生效,PDF属于未适配的格式范畴,所以直接调用就会抛出你遇到的不支持错误。
解决方案
方案1:使用GroupDocs.Merger针对PDF适配的RotatePages接口(无需额外引入其他库,适配21.8版本)
你不需要调用ChangeOrientation,直接用专为PDF等格式设计的旋转接口即可,示例代码如下:
string filePath = @"c:\sample.pdf"; // 旋转角度支持Rotate90、Rotate180、Rotate270,根据你要改成横版/竖版的需求选择 RotateOptions rotateOptions = new RotateOptions(Rotation.Rotate90, new int[] { 3, 4 }); using (Merger merger = new Merger(filePath)) { merger.RotatePages(rotateOptions); merger.Save(filePath); }
注意:如果要从竖版改成横版,选90/270度即可,根据实际页面原始方向调整旋转角度。
方案2:升级GroupDocs.Merger到22.2及以上版本
从22.2版本开始,GroupDocs.Merger的ChangeOrientation接口已经完成PDF格式适配,升级后你原来写的代码可以直接正常运行,无需修改逻辑。
方案3:使用GroupDocs.Pdf库实现更灵活的PDF页面方向调整
如果你的项目已经引入了GroupDocs.Pdf,也可以直接用它的原生能力调整页面方向,代码如下:
using (Document pdfDocument = new Document(@"c:\sample.pdf")) { // 调整第3、4页的方向,页码从0开始计数 pdfDocument.Pages[2].Rotate = Rotation.on90; pdfDocument.Pages[3].Rotate = Rotation.on90; pdfDocument.Save(@"c:\sample.pdf"); }
内容的提问来源于stack exchange,提问作者Ibrahim shaikh
相关产品推荐
相关产品推荐

