当前位置: 首页 > news >正文

C#测试调用Ghostscript.NET浏览PDF文件

  Ghostscript.NET是针对Ghostscript的C#封装库,支持解析PostScript语言、操作PDF文件等。使用Ghostscript.NET的GhostscriptViewer 模块可以以图片形式查看PDF文档。本文学习并测试调用Ghostscript.NET模块打开及浏览PDF文件的基本用法。
  Ghostscript.NET目前主要支持.net framework,使用VS2022创建基于.net framework 4.8的Winform项目,在Nuget包管理器中搜索并安装Ghostscript.NET包。同时还需在参考文献4中下载相应32位或者64位的依赖包,否则程序运行过程中会报下面截图错误,提示需下载依赖安装包。
在这里插入图片描述

在这里插入图片描述
  Ghostscript.NET的GitHub官网中提供了GhostscriptViewer的使用案例(参考文献3),主要是配合PictureBox控件使用,调用GhostscriptViewer的Open函数打开PDF文件,然后处理GhostscriptViewer的DisplayPag、DisplaySize、DisplayUpdate事件,更新PictureBox控件的显示图片。同时,调用GhostscriptViewer的ShowFirstPage、ShowLastPage、ShowPreviousPage、ShowNextPage函数切换当前显示图片。
  主要代码包括(从参考文献3的示例中简化而来):

private GhostscriptViewer _viewer;public Form1()
{......_viewer = new GhostscriptViewer();_viewer.DisplaySize += new GhostscriptViewerViewEventHandler(_viewer_DisplaySize);_viewer.DisplayUpdate += new GhostscriptViewerViewEventHandler(_viewer_DisplayUpdate);_viewer.DisplayPage += new GhostscriptViewerViewEventHandler(_viewer_DisplayPage);
}void _viewer_DisplaySize(object sender, GhostscriptViewerViewEventArgs e){pbPage.Image = e.Image;}void _viewer_DisplayUpdate(object sender, GhostscriptViewerViewEventArgs e){pbPage.Invalidate();pbPage.Update();}void _viewer_DisplayPage(object sender, GhostscriptViewerViewEventArgs e){pbPage.Invalidate();pbPage.Update();}
private void btnFirst_Click(object sender, EventArgs e)
{_viewer.ShowFirstPage();
}private void btnLast_Click(object sender, EventArgs e)
{_viewer.ShowLastPage();
}private void btnPre_Click(object sender, EventArgs e)
{_viewer.ShowPreviousPage();
}private void btnNext_Click(object sender, EventArgs e)
{_viewer.ShowNextPage();
}

  下图为程序运行效果。Ghostscript.NET与PdfiumViewer相比,两者的Nuget包安装及依赖包安装类似,但后者提供有简单的浏览控件,且支持.net core。因此两者相比,PdfiumViewer使用相对更方便。
在这里插入图片描述

参考文献:
[1]https://github.com/ArtifexSoftware/Ghostscript.NET
[2]https://blog.csdn.net/gitblog_00044/article/details/138558845
[3]https://github.com/ArtifexSoftware/Ghostscript.NET/blob/master/Ghostscript.NET.Viewer/FMain.cs
[4]https://ghostscript.com/releases/gsdnld.html

http://www.lryc.cn/news/450048.html

相关文章:

  • MySQL本地安装步骤
  • redisson使用笔记
  • 设计模式之享元(Flyweight)模式
  • 桥接(桥梁)模式
  • 语言模型发展史
  • 【Linux】模拟实现一个shell
  • 云原生数据库 PolarDB
  • MobaXterm基本使用 -- 服务器状态、批量操作、显示/切换中文字体、修复zsh按键失灵
  • elastic Search 初步之向量检索的数据写入及检索查询
  • Tdesign TreeSelect 树形选择 多选
  • Pygame中Sprite实现逃亡游戏5
  • 等保2.0数据库测评之达梦数据库测评
  • 集成mcuboot后测试和验证的方法
  • Vulhub zico 2靶机详解
  • 宠物医院微信小程序源码
  • [教程]Crystal源码下载及编译
  • 【Android 14源码分析】WMS-窗口显示-流程概览与应用端流程分析
  • 双指针---(部分地更新)
  • 【Windows】自定义显示器的分辨率
  • 组播基础-2-IGMP协议
  • 基于Springboot+Vue的视频点播系统设计与实现登录 (含源码数据库)
  • 执行力怎么培养?
  • Power apps:一次提交多项申请
  • Oracle数据库物理结构操作管理
  • Python自然语言处理之spacy模块介绍、安装与常见操作案例
  • DSPy101
  • 网格交易策略:从原理、应用到实战Python回测
  • 软考论文《论大数据处理架构及其应用》精选试读
  • fatfs API使用手册
  • 9.23作业