如何在C#中使用GroupDocs.Viewer 20.8获取文档指定页面流
GroupDocs.Viewer 20.8 获取指定页面流的实现方法
GroupDocs.Viewer 20.x版本重构了核心API,原有的ViewerImageHandler已被移除,改用Viewer类处理文档渲染逻辑。以下是适配20.8版本的代码,实现获取指定页面流的功能:
// 保持原有配置逻辑 ViewerConfig config = GetConfigurations(); // 使用Viewer替代ViewerImageHandler,通过using块自动释放资源 using (Viewer viewer = new Viewer(mStream, new ViewerSettings(config))) { mStream.Seek(0, SeekOrigin.Begin); // 创建PNG格式视图选项(也可根据需求使用JpgViewOptions) // 在构造函数中定义页面流的处理逻辑 PngViewOptions viewOptions = new PngViewOptions(outputStream => { outputStream.CopyTo(pageStream); }); // 指定要渲染的目标页码(对应原逻辑中的pageIndex + 1) viewOptions.RenderOptions.PageNumbers = new List<int> { pageIndex + 1 }; // 执行渲染,指定页面的流会自动写入pageStream viewer.View(viewOptions); pageStream.Seek(0, SeekOrigin.Begin); }
关键API变化说明:
- 废弃
ViewerImageHandler,改用Viewer类作为核心处理入口 - 通过
PngViewOptions/JpgViewOptions的构造函数直接定义流的输出逻辑 - 利用
RenderOptions.PageNumbers精准指定单个页面,避免渲染全部页面提升性能 - 调用
viewer.View()触发渲染流程,无需手动提取页面集合再复制流
内容的提问来源于stack exchange,提问作者Ibrahim shaikh
相关产品推荐
相关产品推荐

