在日常工作中,我们可能常常需要打印各种文件资料,比如word文档。对于编程员,应用程序中文档的打印是一项非常重要的功能,也一直是一个非常复杂的工作。特别是提到Web打印,这的确会很棘手。一般如果要想选择非默认打印机或者说想显示打印设置对话框时,我们也需要对代码进行一定的设置。

针对这样的问题,今天这篇文章我就来分享一下如何利用第三方组件 Spire.Doc来实现Word文档打印。

 详细步骤

这是原来的word文档截图:

第一步:组件安装后,创建一个C#控制台项目,添加引用及命名空间如下:

1

2

3

using System;

using Spire.Doc;

using System.Windows.Forms;

第二步:实例化一个word文档对象,调用LoadFromFile方法加载待打印的word文档:

1

2

Document doc = new Document();

doc.LoadFromFile("sample.doc");

第三步:实例化一个PrintDialog的对象,设置相关属性。关联doc.PrintDialog属性和PrintDialog对象:

1

2

3

4

5

6

PrintDialog dialog = new PrintDialog();

dialog.AllowPrintToFile = true;

dialog.AllowCurrentPage = true;

dialog.AllowSomePages = true;

dialog.UseEXDialog = true;                    

doc.PrintDialog = dialog;

第四步: 后台打印。使用默认打印机打印出所有页面。这段代码也可以用于网页后台打印:

1

2

PrintDocument printDoc = doc.PrintDocument;

printDoc.Print();

第五步:  如要显示打印对话框,就调用ShowDialog方法,根据打印预览设置选项,打印word文档:

1

2

3

4

if (dialog.ShowDialog() == DialogResult.OK)

{              

printDoc.Print();

}

这是打印文档过后XPS格式的屏幕截图:

全部代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

using System;

using Spire.Doc;

using System.Windows.Forms;

namespace Doc_Print

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)

        {

            // 实例化一个word文档对象

            Document doc = new Document();

            // 加载文档

            doc.LoadFromFile(@"C:\Users\Administrator\Desktop\示例文档.doc");

            // 实例化System.Windows.Forms.PrintDialog对象

            PrintDialog dialog = new PrintDialog();

            dialog.AllowPrintToFile = true;

            dialog.AllowCurrentPage = true;

            dialog.AllowSomePages = true;

            dialog.UseEXDialog = true;

            // 关联doc.PrintDialog属性和PrintDialog对象

            doc.PrintDialog = dialog;

            // 后台打印

            // PrintDocument printDoc = doc.PrintDocument;       

            // printDoc.Print();

            // 显示打印对话框并打印

            if (dialog.ShowDialog() == DialogResult.OK)

            {

                //printDoc.Print();

            }

        }

    }

}

有兴趣的朋友自己也可以试一下, 谢谢浏览!

C#中5步完成word文档打印的方法相关推荐

  1. 如何在富文本中插入表情,word文档,及数学公式?

    前言 互联网寒冬一直在持续,不知道大家过的还好吗?不过话说回来,技术过硬,你在哪里都是最靓的仔.今天就给大家补充一点弹药,如何在富文本中插入表情,word文档,及数学公式. 为什么是 TinyMCE ...

  2. 简单三步解除Word文档保护密码(转)

    简单三步解除Word文档保护密码(转) WORD文档有两种密码,一种是打开密码,一种是文档保护密码. 我所说的方法适用于文档保护密码. 第一步:打开加密文档,选另存为WEB页(图1) 之后会出现如图2 ...

  3. 怎么将c语言作业保存到word,C++程序中导出Word文档的简易方法_c语言

    如果您要在应用程序中处理Word文档,可以参考MSDN. Lori Turner. Automating Microsoft Office 97 and Office 2000,该文内容详细全面,但是 ...

  4. Word处理控件Aspose.Words功能演示:在 Python 中比较两个 Word 文档

    在各种情况下执行 Word 文档的比较以确定差异.各种在线工具允许您比较 Word 文档,但是,您可能需要在应用程序中实现比较功能.为实现它,本文展示了如何在 Python 中比较两个 Word 文档 ...

  5. word文档打印预览有阴影_在打印预览中编辑Word文档

    word文档打印预览有阴影 While viewing a Word document in the Print Preview window, you might notice a typo, or ...

  6. word文档打印预览有阴影_在打印预览中编辑Microsoft Word 2007文档

    word文档打印预览有阴影 When working on Word 2007 documents for the office wouldn't it be nice to edit them wh ...

  7. 假想面试题:现在有一串字符串2, 2, 3……,其中字符串中的数字类似于Word文档中的标题级别,最终效果是让它们按照Word文档导航窗格中的标题级别格式进行展示

    目录 一.问题 二.答案 1.依赖 2.代码 3.结果 4.思路分析 三.拓展 1.反向思维 2.引用数据类型 四.实战 1.背景 2.实战模拟 2.1.代码 2.2.结果 一.问题 现在有一串字符串 ...

  8. word doc怎么显示base64图片_win10系统word文档打印不出图片怎么办

    word文档帮助用户更好排版和保存文字,白领都经常用到此软件,可以说是电脑必不可少的一款办公软件.Win10系统编辑好Word文档后准备打印,发现在打印预览里也没有图片 ,真实打印word文档也没图片 ...

  9. python排版word文档命令方法大全_简易常用Word文档使用技巧方法大全(超全).doc

    PAGE Word文档使用技巧方法大全 Word2000.2003.2007.2010快捷键使用大全总结 常用快捷键快捷键 作用 一.字体类Ctrl+B 使字符变为粗体Ctrl+I 使字符变为斜体Ct ...

最新文章

  1. data的值 如何初始化vue_vue data恢复初始化数据的实现方法
  2. C#中的var和dynamic
  3. maven项目下tomcat直接启动不了(LifecycleException)。报错如下截图
  4. 【数据工程】工具与思维结合,会爆发奇效
  5. 创建多级目录函数MakeSureDirectoryPathExists()所需头文件
  6. 牛客网NC112--进制转换
  7. Linux之VMware Tools显示灰色正确解决办法
  8. as3调用java_[AS3]AMF3+JAVA的调用范例
  9. 安卓案例:闪烁满天星
  10. 一道计算时间的机试题
  11. 51单片机LCD12864程序移植到STM32F103C
  12. matlab直方图概率密度图,histeq从用法到原理——Matlab直方图均衡化函数
  13. 竞品分析—微博PK微信
  14. Qt使用QImage裁剪图片
  15. 如何解决浏览器音视频video/audio设置自动播放autoplay无效问题?
  16. apache和php的安装配置
  17. udp2raw android,关于udpspeeder和udp2raw部署的一些补充,及使用体会
  18. iOS 冰与火之歌 - 利用 XPC 过 App 沙盒
  19. 联想启天m420刷bios_联想启天M420c台式机装win7系统及bios设置教程(支持usb驱动)
  20. linux下的rar命令,Linux如何安装rar和unrar命令

热门文章

  1. java mvc增删改查_springmvc-CRUC增删改查
  2. linux 隐藏脚本运行,linux – 为什么在运行ls时隐藏此文件?
  3. easyui中的datetimebox 只显示年月日_设置Win10任务栏显示星期几方法
  4. 安装python3.6报错_CentOS 7下安装Python3.6 及遇到的问题小结
  5. 如何测试一个财务软件系统,对比测试工具平台让财务测试飞起来
  6. 他从零开始学Python,25岁拥有480000粉丝:成功就靠这3点!
  7. 详解PCB抄板过程,太牛了!
  8. python输入法引擎_Bigram-MLE语言模型和模拟输入法的python实现
  9. 现代计算机系统中运算器设计一般采用的是,全国2014年4月高等教育自学考试计算机原理试题课程代码:02384...
  10. 20220203--CTF刷题WEB方向-- PHP2--考察URL编码解码和修改php后缀为phps