发布一个支持大量文本打印的PrintDocument派生对象,公开源代码。
2006-08-02 09:59
459 查看
最近,有一个项目中的某个需求,需要将一篇或几篇大文本,就像毕业论文那样的文章输出到打印机上,我参考了包括CodeProject中的许多公开源代码的示例,发现在CodeProject中的代码例子针对的都是英文文本,而专门处理英文的代码对中文的字符串测量并计算大小的方法很不好,经常出现文本丢失的错误。
所以我参考CodeProject上的一部分代码,经过我的重新修改写出了这部分文本打印代码。
功能:
1 有三个构造器,分别是无参数构造器,string 参数构造器和一个Stream 参数构造器,表示它可以从一个大字符串,一个数据流中获取要打印的内容。
2 支持定义每页打印的行数。
3 支持自定义打印页眉页脚内容。
4 自动打印和分页。
缺点:
1 处理中文的格式算法还不够完美,打印预览时的行间距太近,比较难看。
2 比不上word,无法对文本中的标题等内容进行特殊的字体样式处理,即打印出来的内容文本字体统统一样。
单击此处下载
所以我参考CodeProject上的一部分代码,经过我的重新修改写出了这部分文本打印代码。
功能:
1 有三个构造器,分别是无参数构造器,string 参数构造器和一个Stream 参数构造器,表示它可以从一个大字符串,一个数据流中获取要打印的内容。
2 支持定义每页打印的行数。
3 支持自定义打印页眉页脚内容。
4 自动打印和分页。
缺点:
1 处理中文的格式算法还不够完美,打印预览时的行间距太近,比较难看。
2 比不上word,无法对文本中的标题等内容进行特殊的字体样式处理,即打印出来的内容文本字体统统一样。
单击此处下载
相关文章推荐
- 一个禁止某个document element对象选中文本的js方法
- C# 调用PrintDocument对象进行打印和测试
- printDocument设置适应边框打印 特重要 找了半天 设置一个属性即可
- 简单文本打印,PrintDocument使用
- 将任意一个jQuery对象进行表单序列化,免除了提交请求时大量拼写表单数据的烦恼,支持键值对<name&value>格式和JSON格式。
- 简单文本打印,PrintDocument使用
- 简单文本打印,PrintDocument使用
- ZeroMQ接口函数之 :zmq_z85_encode – 使用Z85算法对一个二进制秘钥进行加密,输出可打印的文本
- Swift如何打印对象内存地址(Swift嵌套函数的一个特点)
- 在使用Sql server 2005 生成脚本时,出现目标服务器版本不支持该对象或不支持该对象的一个属性。 (Microsoft.SqlServer.Smo)的解决办法
- 定义一个交通工具(Vehicle)的类,在测试类Vehicle中的main()中实例化一个交通工具对象,通过方法给它初始化speed,size的值,并打印出来。另外,调用加速,减速的方法对速度进行改变
- loner_li 机试题 一个文本文件含有如下内容,分别表示姓名和成绩:张三 90 ..提供用户一个控制台界面,允许用户输入要查询的姓名,输入姓名并且按回车以后,打印出此人的成绩...
- vb.net 教程 11-1 打印组件 4 PrintDocument 4
- 打印:document.execCommand('print','true','true')的使用?
- 目标服务器版本不支持该对象或该对象的一个属性
- 声明一个哺乳动物类Mammal,再由此派生出狗类Dog,二者都定义Speak()成员函数,基类中定义为虚函数,声明类Dog的一个对象,调用函数Speak()
- 使用jQuery匹配文档中所有的li元素,返回一个jQuery对象,然后通过数组下标的方式读取jQuery集合中第1个DOM元素,此时返回的是DOM对象,然后调用DOM属性innerHTML,读取该元素 包含的文本信息
- JS 使用 window对象的print方法实现分页打印
- 【转】C# PrintDocument打印 多页 打印预览
- C#使用PrintDocument打印 多页 打印预览