LZ用printDocument打印表格挺麻烦的,光是计算文字之间的间距什么就够麻烦了,最好还是用水晶报表,这个很简单,做好报表,打印的时候用表格填充一下报表就可以打印了
解决方案 »
- 急急急!数理逻辑公式怎么匹配?
- 操作XML文件提示正由另一进程使用
- 菜鸟请教 RequiredFieldValidator控件问题!!着急啊,大家们????!!!!!
- 大家来谈谈工资低的问题啊,
- “DM.DAL.DeviceBaseDAL”不会实现接口成员“DM.DAL.IDeviceDAL.AddOut(string, string, string, string, System.DateTime, string)”
- c#中如何去掉可编辑框的闪烁光标?
- C#中如何在结构体中定义大小不确定的数组
- 直接打开远程C/S程序的设计方法,欢迎测试Demo.
- 新手,请教一个C#问题?
- 急,求帮忙做下这两题
- SQL Sever 2012
- 在c#中关于闪退的问题
2、用API函数获得设备分辨率
3、根据水平与垂直方向分辨率分别对宽、高进行换算,这样就可以统一坐标数据的计量单位
4、用e.Graphics.PageUnit来指定打印时的计量单位为换算后统一的单位我不知道为什么要这样做,也不知道这个办法的具体代码如何写,我不知道为什么用e.Graphics.DpiX/Y来做换算参数为什么得到的打印结果相差甚远,好象没人愿意涉及这个问题,大家都在回避回答这样的问题,我刚学,是真的不懂,也许是因为这个问题很SB,没人愿意回答吧。
就实际问题而言,你应该用水晶报表或者RDLC来实现打印部分。gdi+来打印datagridview不是一个明智的选择。像素值和英寸之间的关系,专业名词叫做DPI。一般我们的显示器是96DPI,而不同打印机也有不同。GDI+是与设备分离的图形库,只负责像素部分。实际大小的转换就要你自己控制了,一般打印机驱动会说明自身的DPI,
或者你也可以打印到PDF文件,PDF的DPI默认是72.