C# richTextBox的换行分页打印

本文介绍了在C#中如何使用richtextbox实现自定义字体的换行分页打印。在查找并尝试了网上多种代码后,作者总结了解决 richtextbox 打印时不换行和每页打印不完整的问题。关键在于利用Rectangle进行文本填充,调整打印区域以防止跨页。文章提供了详细的代码示例和解释。
摘要由CSDN通过智能技术生成

近期涉及到一个需求要求提供简单的打印功能,首先想到的winform的printDocument打印功能。之前有别的项目使用了这块进行了简单的封装,但是感觉有问题。问题很简单,之前的打印只能打印固定字体大小的内容。不好用。我不能自定义字体大小。

so,引出自己定义的需求。能不能自定义字体进行打印。而且简单粗暴不使用第三方控件。

首先百度了下网上的代码代码很多,但大多有存在问题,问题如下:

1.不能换行,因为使用RichTextBox之后固然是能够使用自定义字体了,但是问题也是存在的那就是不会给你自动换行,而且即使控件自动换行了也没用因为页面尺寸和控件尺寸并不一致。

2.打印会存在每一页只打印一部分的问题

围绕以上两个问题,我找了很多代码都不行,后来拼凑了下,并且找单位的大佬帮忙总算解决了,这里记录下:

首先拉出几个控件:

PrintDialog ,PrintDocument,FontDialog,PageSetupDialog,以及3个button。

依次说明下这些控件的作用,PrintDialog用于打印之前的提示框,PrintDocument用于存放答应的文本信息,FontDialog设置字体信息,PageSetupDialog设置打印的页面信息,三个button分别为:

以上控件拖出后需要设置的属性为:

pageSetupDialog1的Documen

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值