首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

.NET在winform中打开PDF而没有外部依赖性

在WinForm中打开PDF而没有外部依赖性,可以使用.NET自带的控件DocumentViewer来实现。

首先,需要在WinForm中添加DocumentViewer控件,可以在工具箱中找到该控件并将其拖到窗体上。

然后,可以使用以下代码来加载PDF文件并显示在DocumentViewer控件中:

代码语言:csharp
复制
private void LoadPdf(string filePath)
{
    if (File.Exists(filePath))
    {
        using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
        {
            documentViewer.Document = new PdfDocument(fs);
        }
    }
}

其中,filePath为PDF文件的路径。

需要注意的是,.NET自带的DocumentViewer控件只支持PDF文件的预览,不支持PDF文件的编辑和保存。如果需要编辑和保存PDF文件,可以使用第三方库,例如iTextSharp或PdfSharp等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

不使用反射,“一行代码”实现Web、WinForm窗体表单数据的填充、收集、清除,和到数据库的CRUD

实战篇:     按照这个方法,我PDF.NET开发框架实现了本文标题说的功能,最近还做了一个简单的例子,大家可以去开源项目网站下载:     项目网址: http://pwmis.codeplex.com... 到下载页,选择“ PDF.Net_V4.6 WinForm 数据表单实例 ”这个下载链接即可。    ...添加前,工具箱增加一个项:PDF.NET DataForm,然后资源管理器中选择Windows数据控件组件的文件,将它“拖放”到刚才建立的 PDF.NET DataForm下面 ?    ...; } }     注意,我们并没有手工去创建数据表,而是利用事先定义好的PDF.NET实体类 User,Access数据库自动创建了一个数据表的...略 }     因此用PDF.NET的实体类来做WinForm、WPF、SL等窗体的数据Model是很合适的,适合在MVVM,MVP模式的项目中使用。

2.6K80

【工具篇】.Net实现HTML生成图片或PDF的几种方式

WebBrowser 这种方案开发时不依赖任务外部程序集和nuget包,部署时也不需要安装额外的工具和服务,可以说是非常清爽了。...它借助了WinForm下的WebBrowser控件实现HTML内容渲染,并把渲染结果绘制Bitmap,进而保存成图片或PDF文件。...WebBrowser是Winform下的一个组件,Winform项目中运行会出现不可知的异常,即使Winform项目中,数据量比较大的时候依然会出现卡死的情况。...使用方法就是命令行工具执行命令,例如: wkhtmltopdf --grayscale https://www.baidu.com baidu.pdf 如果要在.Net项目中使用的话,核心问题就是用程序唤起命令行...:https://ironpdf.com/examples/image-to-pdf/  清爽指数:★★★★    功能指数:★★★★ 写在最后     以上几种方式,都是我本次实践总结出来的,

2.5K30

64位系统使用Access 数据库文件的彻底解决方法

最近,有PDF.NET用户问我怎么64位系统下无法访问Access数据库的问题,我第一反应是我怎么没有遇到呢?...今天一看自己的VS和Office都是32位版本的,所以VS里面调试访问Access是没有问题的,但是直接使用编译好的.NET程序访问Access,就出问题了,报:     未在本地计算机上注册“Microsoft.Jet.Oledb...但是,如果你的.NET程序是别人编译好的,且64位系统上运行,要访问Access数据库,怎么办呢?    ...调试Web网站应用程序的时候,提示“Microsoft.ACE.OLEDB.12.0” 未注册,请在VS的选项,项目和解决方案,Web项目,勾选64位的 IIS Express 。...此问题受影响的 PDF.NET 开发框架相关程序: 1,SimpleAccessWinForm 程序,下载地址 , PDF.Net_V4.6 WinForm 数据表单实例 example,

2.5K50

使用DotNetBar制作漂亮的WinFrom界面,自定义AgileEAS.NET SOA平台WinClient主界面

一、前言     AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术构建的一个快速开发应用平台。....Net构件(组件)开发技术实践了这种开发思想,帮助软件企业实现“敏捷变化、快速适合”的目标,从而帮助软件企业激烈的市场竞争赢得先机并获得更高的回报。     ...最初版本的AgileEAS.NET SOA中间件平台的运行容器/外壳是没有界面替换体系,最初只是提供了替换关键部分的图片、文字的功能,随着AgileEAS.NET SOA中间件被众多的客户应用到各行各业之后...,并且提出了相关的解决方案,并且2012年AgileEAS.NET SOA 5.0版本的时间向大家提供。     ...内容区:除以上项目外的界面空白区域为业务工作区,即模块插件的工作区域,新打开的模块经区域显示和工作。

1.5K90

PDF.NET框架实例讲解)将任意复杂的SQL查询映射成实体类

我们使用PDF.NET(PWMIS数据开发框架)来实例讲解一下这个过程。...1,首先下载并安装一个“PDF.NET集成开发环境”,详细内容请参见《PDF.NET数据开发框架之集成开发工具Ver 4.1发布》,下面是该工具运行的界面: 2,“数据连接”选项卡上,选择或创建一个连接分组...,然后再添加一个连接(注意鼠标右键菜单),之后就能够打开该连接,看到该连接下面的数据库、表、视图、存储过程等内容,如上图所示。...除了可以通过本文说的方式将SQL语句映射到实体类,还可以通过PDF.NET内置的SQL-MAP技术来实现实体类映射,就像iBaits那样,但比iBaits简单很多,详细内容,请参看: PDF.NET数据开发框架...之SQL-MAP使用存储过程 注:本文所说的自定义查询PDF.NET3.5以后方可以支持,实例代码需要在PDF.NET 4.1以上支持,PDF.NET本身仅需要.net 2.0支持,框架的最新版本没有公开发布

2.5K80

PDF.NET SOD 开源框架红包派送活动 && 新手快速入门指引

,ORM,Data Control framework 原PDF.NET框架将成为一个全功能的企业开发框架, SOD框架将是PDF.NET开发框架下面的 “数据开发框架" PDF.NET 开源历史...程序每次都指定连接字符串和查询命令类型,好处是“随用随取”,线程安全,随时随地“SqlHelper”,但不好之处就是代码冗余,所以可以把数据访问类类型和连接字符串放到应用程序配置文件(App.config...配置了数据库连接信息之后,就可以程序像下面这样使用了: using PWMIS.DataProvider.Adapter;//… AdoHelper accessDb1=MyDB.Instance;...PDF.NET数据开发框架 之SQL-MAP使用存储过程 五、ORM SOD框架发明了独具特色的ORM查询语言OQL,它基本覆盖了SQL92标准的大部分功能,使得你VS IDE 使用“对象化的SQL...收集、清除,和到数据库的CRUD》 你也可以 pwmis.codeplex.com 下载源码,找到下面地址对应的SimpleAccessWinForm, 或者下载这个 PDF.Net_V4.6 WinForm

1.6K90

PDF.NET 数据开发框架 许可限制 框架源码的获取

欢迎使用 PDF.NET 数据开发框架 (Ver 4.0) 关于框架的名字由来          我设计www.pwmis.cn 站点(原域名已经过期,现在正准备使用新域名http://www.pwmis.com.../ )的时候,考虑到架构的兼容性和将来升级的可能性,最重要的是没有足够的时间去为网站添加和维护很多复杂的程序,所以借鉴前人成功经验的基础上,设计了 一套全新的快速数据处理框架 PWMIS Data development...本框架的设计思想是通用的,完全可以移植到Java 平台,现在只提供了.NET平台的实现,暂且将本框架命令为 PDF.NET (下载 ) 框架支持的功能 UI层(WinForm/Web)控件数据绑定、...河南某市测绘流程管理系统,PDF.NET Ver1.0,工作流和信息管理部分; 2008。北京某房产备案管理系统,PDF.NET Ver1.0,工作流部分; 2009。...功能,并提供OQL功能 •提供控件数据绑定功能 •提供高效分页控件 •提供控件数据验证功能 更多信息 本框架官方网站 http://www.pwmis.com/sqlmap (新申请域名,如果不能打开说明还在备案

1.2K60

Navi.Soft31.WinForm框架(含下载地址)

,权限管理等 本框架指在解决这些问题,并将通用的功能抽离并实现.使开发过程,将更多的精力放在业务逻辑 1.2面向对象 Net程序开发员 1.3开发环境 开发环境 描述 VS2012或以上 整个框架只有此一个解决方案...n 附件列表.是指在WinForm项目,可以打开各种文件预览.包括Office,Html,Xml等 u 注:暂不支持cad文件预览 ? u 双击预览文件 ? 预览Excel文件 ?...预览Pdf文件 n 附件预览(Web) ? 描述 此附件预览功能,是针对Web站点件操作,不是本地.可实现对网络文档的管理,如上传和下载等 u 文档下载如下所示 ? n 简易服务器 ?...COM组件引用 项目引用若干COM组件,包括PDF文档预览组件,Office文档预览组件,视频播放组件.框架本身已提供安装程序\packages\Tools\文件夹(暴风影音安装程序未提供) 2....SQLite数据库如何使用 注1:所有的C#项目的目标平台,建议是x86,即使是64位开发环境 注2:需要在客户端安装SQLite驱动,可以官方下载,注:本框架使用的是Net4.0的驱动.文件名称是:

2.9K70

认识WPF

2.初探代码 打开VS,我们搜索WPF,新建一个WPF项目: 搜索WPF会出现很多相关选项,主要是底层框架(.NET Framework,.NET Core,.NET)的不同,这里我们选择WPF...用于存储一些配置信息,程序运行时可以动态的读取这些信息; App.xaml是整个项目的xmal文件,熟悉asp.net core的同学可以将这个文件理解为View/share文件夹下的_layout...文件,在这个文件编写的一些逻辑会应用到整个程序,而且与WinForm不同的是,项目的启动页面是在这样文件配置,就是下图所示的StartupUri属性: MainWindow.xaml文件就是一个单纯的...Window标签有一些属性下面来解释一下: x:Class 类名,指示跟哪个类绑定; xmlns 属于当前页面的命名空间,用于引入一些用到的代码,如外部自定义的控件,类型转换器等;...,构造器我们可以看到一个方法,这个方法是.xaml页面给的用于初始化控件。

1.1K20

“老坛泡新菜”:SOD MVVM框架,让WinForms焕发新春

MVVM框架,WinForms 的UI效果和整体开发质量,开发效率没有得到有效提高,要过度到WPF开发这种不同开发风格的技术难度又比较大,所以,如果有一种能够 WinForms 上的MVVM框架,无疑是广大后端...笔者一直是一个奋斗一线的.NET开发人员,架构师,对于Web 和桌面,后端开发技术都有广泛的涉及,深刻理解开发人员自嘲自己为“码农”的心理的,工作辛苦又没有时间陪女朋友陪家人,所以我一直总结整理如何提高开发效率....NET,实现这种通知功能的接口就是:  INotifyPropertyChanged 它的定义System.dll ,早在 .NET 2.0 就已经支持。...对于数据控件,可以在此窗体设计器界面,打开“工具箱”,“常规”选项卡里面,选择上下文菜单“选择项”,浏览到packages\PDF.NET.SOD.WinForm.Extensions.5.5.5.1020...model.RemoveUser(obj); } } } 添加Nuget包引用 对于整个解决方案,我们都需要添加 PDF.NET

3.6K60

xBIM 实战04 WinForm窗体实现IFC模型的加载与浏览

GDI/GDI+不理解这些高层元素,因此必须将他们转换成逐像素指令,通过现代显卡渲染这些指令更慢。WinForm 的绘图技术使用的就是GDI/GDI+技术。...但是xBIM并没有提供专门针对传统 WinForm 技术的的模型查看器。如果确实需要在传统的 WinForm 窗体也要加载并显示BIM(.ifc格式)模型文件该如何处理呢?   ...由于WinForm与WPF技术可以互通互用,所以本文介绍一种取巧的方式,WinForm窗体中加载WPF控件,WPF控件渲染BIM(.ifc格式)模型文件。具体操作步骤如下详细介绍。...一、新建WinForm项目 新建WinForm项目,.NET Framework 选择4.7版本,因为需要引用最新的 XBIM相关DLL(依赖 .NET Framework 4.7)。 ?...五、WinForm窗体调用WPF查看器   添加一个WinForm窗体。左侧Panel是 按钮区域,右侧Panel填充窗体剩余的所有区域。 ? 打开VS的工具箱,可以看到如下栏目 ?

1.3K30

WinForm学习

二、C#的特点 三、了解C#、.NETWinform的关系 四、快速创建Winform程序 五、Winform菜单和工具栏 六、Form初始化、布局 总结 一、C#是什么?...,让开发人员能快速地构建 C# 应用程序 三、了解C#、.NETWinform的关系 .NET 是一个开发平台, C# 是一种 .NET 开发平台上使用的编程语言,目前能在 .NET 平台上使用的开发语言很多...但在 .NET 平台上使用最多的是 C# 语言。WinForm 是 Windows Form 的简称,是基于 .NET Framework 平台的客户端(PC软件)开发技术,一般使用 C# 编程。...C# WinForm 编程需要创建「Windows窗体应用程序」项目。.NET 提供了大量 Windows 风格的控件和事件,我们可以直接拿来使用,上手简单,开发快速。...11)容器 容器可以放入需要的组件 12)属性 Anchor属性可以将内部容器窗体的拉伸大小随外部窗体的改变改变 Dock属性将控件停靠在窗体的边缘或者填充窗体

3.3K10

再议Windows消息与WinForm事件

前言 2月份的时候,我之前曾经写过一篇关于Windows消息与C# WinForm事件机制的文章,名为《WinForm事件与消息》。在那篇文章,我简单探讨了一下事件和消息。...所有的外部事件,如键盘输入、鼠标移动、按动鼠标都由用户所触发;然后OS接收到对应的“消息”;然后送入消息队列;接下来,启动的应用程序的工作引擎通过轮询等方式遍历获取,然后按照消息的类型逐个分发(Dispatch...通常的WinForm开发,我们都离不开一个东西:System.Windows.Forms.Application。...WndProc .NET框架类库的System.Windows.Forms命名空间中微软采用面对对象的方式重新定义了Message。...MyMessageFilter MouseClick"); return true; } return false; } } 编写完成后,应用程序初始化的过程

17610

【云+社区年度征文】WinForm引用ActiveX组件,对Com组件的学习

1、WinForm引用Adobe PDF Reader 工作WinForm程序经常会引用第三方的组件,包括引用Com组件,做了一个桌面程序需要展示PDF,看了些其它的开源组件对PDF的兼容性都不是很好...工具栏选择项 image.png添加com组件 添加Com组件 找到Adobe PDF Reader勾选,然后点击确定之后组件就被添加到工具箱里面了。...image.png 使用Com组件 新建一个窗体或者用户控件,将刚才添加的Adobe PDF Reader 组件拖入到窗体中就可以像winform控件一样操作该控件了。...COM独立于实现语言,这意味着您可以使用其他编程语言(例如C ++和.NET Framework的编程语言)创建COM库。...AxAcroPDFLib则如同第三点讲的那样就是COM Library。

1.8K40

.NET混合开发解决方案24 WebView2对比CefSharp的超强优势

5 WebView2运行时与分发应用 .NET混合开发解决方案6 检测是否已安装合适的WebView2运行时 .NET混合开发解决方案7 WinForm程序通过NuGet管理器引用集成WebView2...控件 .NET混合开发解决方案8 WinForm程序通过设置固定版本运行时的BrowserExecutableFolder属性集成WebView2控件 .NET混合开发解决方案9 WebView2...我为什么会写这么多篇博客来记录WebView2的使用历程,主要是开发《建筑工程施工图BIM智能审查系统》过程,勘察设计单位端与审查专家端(C/S架构 WinForm)的程序集成了Web端BIMFace...两者还有一些其他常用功能,这里无法详尽列出,大家可以使用再仔细对比。...在建筑工程施工图BIM智能审查应用场景,BIM模型相对CAD、PDF来说,模型尺寸呈几何级增长,超大模型甚至达到10G,构件数量达到万级、三角片面数量达到百万甚至千万级。

2.9K20

ActiveReports 报表应用教程 (1)---Hello ActiveReports

,包括对交互式报表的强大支持、丰富的数据可视化形式、与Visual Studio的完美集成、以及对WPF / WinForm / ASP.NET / Silverlight和Windows Azure的多平台支持等...,您还可以报表添加任意的第三方 .NET 控件,从而满足您更多的报表扩张能力的需求。...5、报表皮肤设置 葡萄城ActiveReports报表,可以设置报表不同控件的样式,然后把这些样式保存到一个外部的XML文件当中,供其他报表使用。...第二步: Visual Studio 添加 ActiveReports V11 SP2 报表模板 ActiveReports 支持 WinForms、ASP.NET、ASP.NET MVC、Silverlight...打开 VS2013 并创建一个 ASP.NET 应用程序类型的项目,项目文件上右键并选择添加 –> 新建项,在出现的添加新项对话框,选中已安装的模板下的 Visual C# 节点,此时,你可以看到

2.9K60

【手记】WebBrowser响应页面的blank开新窗口及window.close关闭本窗体

注:本文适用.net 2.0+的winform项目 目的: 点击页面的target="_blank"链接时,弹出新窗体 页面中有window.close()操作时,关闭窗体 上述窗体是指WebBrowser...private void wb_NewWindow(object sender, CancelEventArgs e) { e.Cancel = true;//这句加不加在我的环境里没区别,不加也不会导致打开外部浏览器...另外,该事件进入时,wb的StatusText几乎可以断定就是所点链接的href,极端情况以后遇到再说 } 二、响应页面的window.close以关闭本窗体 由于wb没有现成的Close之类的事件,...: using System; using System.Security.Permissions; using System.Windows.Forms; namespace AhDung.WinForm.Controls

99430

多线程系列(三)之线程池

.NetFramework1.0时代的Thread,API功能繁多,对线程的数量是没有管控的,.NetFramework2.0时代推出了ThreadPool,如果某个对象创建和销毁代价比较高,同时这个对象还可以反复使这些线程...ToString()); }, "wjl"); 检索和设置线程池的最大最小数目和异步IO线程的最大最小数目 I/O线程是.NET专为访问外部资源所设置的一种线程,因为访问外部资源常常要受到外界因素的影响...,为了防止让主线程受影响长期处于阻塞状态,.NET为多个I/O操作都建立起了异步方法。...是一种信号量的方式 //如果初始为false--关闭, mre.Set()之后变为ture,WaitOne就能通过 //如果初始为tue--打开...,如果是控制台程序或者winform程序,请将Main()函数上面的特性[STAThread]注释掉 WaitHandle.WaitAll(mres);

47420

.NET控件集ComponentOne 2018V3发布:新增图表动画及迷你图

winform2.png ​ WinForms DataFilter control 迷你图控件:与FlexGrid完美集成的Sparkline控件 这种轻量级的迷你图表控件代表了浓缩视觉数据变化的一般形状...它通常嵌入在数据网格。因此,FlexGrid 现在可以显示迷你图,并可以更容易地 FlexGrid 单元格绘制趋势图。...用户可以通过双击某一个议程并打开 EditAppointment 对话框来编辑。 此视图始终默认按日期升序排序,并且没有行标题或列标题。...xaml4.png ​ XAML Scheduler AgendaView 以上就是ComponentOne Enterprise WinForm 平台和 WPF 平台的主要更新点,想了解更多 2018V3...,支持 WinForm,WPF,UWP,ASP.NET MVC 等七个 .NET开发平台,具备表格数据管理、数据可视化、报表和文档、日程安排、输入和编辑、导航和布局、系统提升工具等七大功能,满足企业 .

2.4K20

aardio的多线程

只有用 console.open() 或 io.open() 打开控制台才能看到非主线程的错误信息。 2、每个线程有独立的运行上下文、独立的全局变量环境,有独立的堆栈。...可以传递的类型: 没有任何外部依赖的数值、字符串、buffer、table、function 可以传入其他线程使用。 这些对象传入另一个线程时通常会复制值 - 也就是传值而非传址(传引用)。...利用这种奇妙的特性 —— 实际上可以工作线程调用界面线程的任意代码。 COM 对象不可以从一个线程传递到另一个线程。...要想不阻塞主线程就要用多线程,但是var mb = web.form.ie11(winform);,其中的mb是不支持线程间传递的,所以没有什么更好的方法。...invokeAndWait 我们有时候界面创建一个线程,仅仅是为了让界面不卡顿,我们希望用 thead.waitOne() 阻塞等待线程执行完闭(界面线程同时可以响应消息),然后我们又希望在后面关闭线程句柄

1.2K51
领券