如何在Windows Forms 应用程序中查看及打印Office文档

前言

如今我们经常会创建或者收到各种office或PDF文档格式的电子报表,如.docx,.xlsx, .pptx和.pdf。作为开发人员,难免会被上司要求创建一个可以查看和打印这些报表的应用程序(查看器)。本文将阐述如何通过一个.NET Viewer控件 -Spire.OfficeViewer在Windows Forms 应用程序中创建自己的文档查看器。


简介

Spire.OfficeViewer 是一个独立的.NET控件,开发人员可以使用它在Windows Forms应用程序中查看及打印Office和PDF文档而无需安装MS Office或Adobe Acrobat等软件。它所支持的格式包括:DOC, DOCX, DOT, XLS, XLSX, XLSB, ODS, PPT, PPTX, PPS, PPSX和 PDF等。


准备工作

要创建这样一个文档查看器,首先需要在Visual Studio中创建一个Windows Forms 应用程序,然后将Spire.OfficeViewer控件添加到Toolbox里。具体操作如下:

  • 下载Spire.OfficeViewer并安装
  • 在Toolbox窗口右键,选择“Add Tab”来添加一个新的tab并为它命名
  • 在新添加的tab上右键,选择“Choose Items”
  • 选择”.NET Framework Components”并点击下面的”Browse”按钮
  • 从控件安装路径的Bin文件夹下选择”Spire.OfficeViewer.Forms.dll”
  • 点击“OK”按钮,控件就被成功的添加到tab了
  • 从tab下拖住OfficeViewer 控件到 Form里

如下图所示:



代码

我们可以通过点击界面上的文件夹按钮来打开文档,也可以通过代码来加载文档。如下:

using System.Windows.Forms;  
  
namespace View_and_Print_Office_and_PDF_Documents  
{  
    public partial class Form1 : Form  
    {  
        public Form1()  
        {  
            InitializeComponent();  
            this.officeViewer1.LoadFromFile(@"E:\Program Files\Test.pdf");  
        }  
    }  
}

运行应用程序,我们就可以看到这样一个文档查看器了:



从菜单栏可以看出,除了查看和打印文档两个最主要的功能外,它还提供了很多其他功能,如保存,将当前文档转换为PDF/XPS格式,翻页和页面放缩等。如果你不想使用控件预先设计好的界面,可以从tab下拖住DocumentViewer(非OfficeViewer)控件到Form,然后自定义tab并编写代码。


感谢您的阅读,希望本文能给您带来一定的帮助,如有任何疑问,欢迎留言。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值