摘要:
using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Windows.Forms; using Microsoft.Win32.SafeHandles; using System.Runtime.InteropServices; using System.ComponentModel; namespace Comm ...{ publicclass TicketPrinter ...{ publicconstshort FILE_ATTRIBUTE_... 阅读全文
posted @ 2012-06-27 23:37
小软狐
阅读(4338)
评论(2)
推荐(1)
摘要:
windows一个特点就是设备无关性,这样就给程序控制打印机提供了很好的方法。首先引用“泥人张”写的打印API类。usingSystem;usingSystem.Collections;usingSystem.Text;usingSystem.Runtime.InteropServices;usingSystem.Security;usingSystem.ComponentModel;usingSystem.Drawing.Printing;namespacePrintAPI{publicclassPrinter{privatePrinter(){}///泥人张版本加强版API声明API声明i 阅读全文
posted @ 2012-06-27 23:12
小软狐
阅读(3478)
评论(1)
推荐(0)
摘要:
到网上一搜,有很多关于打印页面设置值怎么老是变、自定义纸张和连续走纸的问题。有很多说法,有些说是VS.NET的bug,有的说必须用API,还有的说... 其实,是我们自己没有研究透,这里给一些解决办法。 用PageSetupDialog做打印页面设置值时,每显示一次对话框输入页边距,下次再进入页面设置对话框输后发现原来的值变了,再下次再变? 为什么呢,这并不是VS.net的bug,其实不能怪微软,人家是做全球的,而我们使用的是中文版,存在一个公制和美制的单位转换问题。 一般使用页面设置值对话框时是把工具箱中的这个控件拖到窗口用,其实这样不方便,也不利于代码的复用和统一。我做了一个 Printe 阅读全文
posted @ 2012-06-27 22:58
小软狐
阅读(1130)
评论(1)
推荐(0)
摘要:
长江支流说的办法保留太多了,结果不行,很多类都是他在程序集里自定义的,源码又没公开不过还是要感谢他的提示今天和小陈搞了一天,他在国外的论坛上看到了一篇文章得到了启示,最后我们在凌晨3点终于把自定义纸张的代码给写出来了,看来必须用API,微软的.NET对打印的支持太菜了现公开我们工作室实现此功能的部分代码usingSystem;usingSystem.Text;usingSystem.Runtime.InteropServices;usingSystem.Security;usingSystem.ComponentModel;usingSystem.Drawing.Printing;namesp 阅读全文
posted @ 2012-06-27 22:56
小软狐
阅读(1046)
评论(0)
推荐(0)
摘要:
usingSystem.Drawing.Printing;usingSystem.Drawing;privatevoidTest(){PrintDocumentm_pdoc=newPrintDocument();PaperSizepsz=newPaperSize();m_pdoc.PrinterSettings.PrinterName="MicrosoftOfficeDocumentImageWriter";psz.RawKind=0;//Printing.PaperKind.Custom此枚举的值是0psz.Width=350;psz.Height=350;m_pdoc. 阅读全文
posted @ 2012-06-27 22:53
小软狐
阅读(1299)
评论(0)
推荐(0)
摘要:
.Net 提供的打印类PrintDocument 非常简洁易用,不过在实际应用开发中往往需要对纸张进行自定义,尤其是需要进行票据打印时。这个问题也困扰了我许久,经过查阅相关的资料和多次尝试,发现其实也很简单。下面的示例就是我在.Net2.0已经验证可行的办法:using System;using System.Collections.Generic;using System.Text;using System.Drawing;using System.Drawing.Printing;namespace PrintService{ class AFCSPrinter : { ... 阅读全文
posted @ 2012-06-27 22:27
小软狐
阅读(29673)
评论(1)
推荐(1)
摘要:
近日做一项目,需要有大量的报表和单据打印,以前做过使用水晶报表来打印的,感觉太过麻烦,效果也不理想,这次查找资料中,找到了蜡人张的报表http://www.cnblogs.com/waxdoll/category/49402.html,有很不错的解决方案,潜心学习了一番,并下载了蜡人张提供的示例程序,加以修改。在此多谢蜡人张的程序。 在使用过程中,我做了一个打印发票单据的模拟测试,需要打印的内容有客户名称,年月日,以及客户的项目费用列表及合计。这就需要有两个数据源表,用蜡人张的示例程序,试验多次,无法实现这个需求,这跟我极少接触报表,此方面知识欠缺有很大的关系。由于时间紧迫,我使用了一个变通. 阅读全文
posted @ 2012-06-27 22:25
小软狐
阅读(948)
评论(1)
推荐(0)
摘要:
NT,2000,XP,2003....下不能用DefaultPageSettings.PaperSize = new PaperSize("Custom", 826, 492)这种方式定义纸张大小,Win98可以。你需要在服务器属性中添加自定义表单,然后用C# codeforeach (PaperSize paperSize in printDoc.PrinterSettings.PaperSizes){ if (paperSize.PaperName =="自定义表单名称"&& paperSize.Height == width &am 阅读全文
posted @ 2012-06-27 22:08
小软狐
阅读(6038)
评论(2)
推荐(0)
摘要:
写了个winfor的套打表格的程序,由于纸张大小特殊,在c#中找了半天设置打印机相关的内容也没有设置成功。最后只得在操作系统中进行设置。方法如下:控制面板中打开“打印机和传真机设置”窗口1打开文件菜单的服务器属性,在里面定义一个新的纸张类型,设置好纸张大小和打印边距。2右键单击打印机设置打印首选项,在纸张中选择刚才设置的新的纸型。3回到程序中直接按照刚设好的纸型就行打印控制。哈哈,一切正如所料,打印很成功在c#的gdi+中,graphics对象的PageUnit 属性 设置为 GraphicsUnit.Millimeter,这样使用drawstring方法输出字符串时,坐标的单位就变成了毫米, 阅读全文
posted @ 2012-06-27 22:00
小软狐
阅读(2897)
评论(0)
推荐(0)
摘要:
打印时,自定义纸张using System.Drawing.Printing;在Window 98下使用PrintDocument Document = new PrintDocument();Document.DefaultPageSettings.PaperSize = new PaperSize("A5", 827, 583);在Win2000,XP以上的版本中使用PaperSize ps = new PaperSize("自定", 627, 583);foreach (PaperSize ps2 in Document.PrinterSettin 阅读全文
posted @ 2012-06-27 21:49
小软狐
阅读(1162)
评论(0)
推荐(0)
摘要:
http://blog.csdn.net/flygoldfish 阅读全文
posted @ 2012-06-27 21:38
小软狐
阅读(382)
评论(0)
推荐(0)
摘要:
开源:MIS金质打印通原理及实现 Step by step (1)原理篇 前面我们说了打印页面设置、打印机设置、打印预览对话框的实现,这个通用的类大家可以自己修改一下用于自己的项目中。这个类也将用于我们即将讲解并已实现的MIS金质打印通中,让我们一起动手来实现自己的MIS打印程序吧! 从现在开始,我们来一步一步的实现怎样打印管理信息系统(MIS)的报表、单据(如采购订单、订货单等)、合同(如工矿企业合同,格式非常复杂的合并网格,文本等)等等。 很多打印程序,都是针对特定的网格控件如DataGrid打印,但是,为了通用,我们想想怎么办呢? 实现的它们的核心,也就是实现二维数据的打印,加上绘制线, 阅读全文
posted @ 2012-06-27 21:34
小软狐
阅读(1101)
评论(0)
推荐(0)
摘要:
1公分=1厘米=1cm ,一英寸=0.0254m=2.54cm,一英尺=30.48cm,所以1厘米就是0.3937英寸1英尺(foot)=30.48厘米1英寸(inch)=2.54厘米1英尺(foot)=12英寸(inch)1厘米就是0.3937英寸 阅读全文
posted @ 2012-06-27 21:18
小软狐
阅读(5886)
评论(0)
推荐(0)
摘要:
初始化PaperSize类的新实例。命名空间:System.Drawing.Printing程序集:System.Drawing(在 System.Drawing.dll 中)语法C#C++F#VBpublic PaperSize( string name, int width, int height)参数name类型:System.String纸张名称。width类型:System.Int32纸张宽度,以百分之一英寸为单位。height类型:System.Int32纸张高度,以百分之一英寸为单位。备注使用此构造函数创建的PaperSize始终将其Kind属性设置为Custom。只能为自定义P 阅读全文
posted @ 2012-06-27 21:15
小软狐
阅读(1112)
评论(0)
推荐(0)
摘要:
成员成员说明DefaultPaperSize打印机驱动程序中设置的默认大小。Paper10x14纸张大小为 254 x 355.6 毫米。Paper11x17纸张大小为 279.4 x 431.8 毫米。PaperA3A3 纸,297 x 420 毫米。PaperA4A4 纸,210 x 297 毫米。PaperA4SmallA4 小纸,210 x 297 毫米。PaperA5A5 纸,148 x 210 毫米。PaperB4B4 纸,250 x 354 毫米。PaperB5B5 纸,182 x 257 毫米。PaperCsheetC 型纸,431.8 x 558.8 毫米。PaperDshe 阅读全文
posted @ 2012-06-27 21:13
小软狐
阅读(746)
评论(0)
推荐(0)
摘要:
获取或设置表示PaperSize值之一或自定义值的整数。下表显示PaperSize枚举成员的整数值。等于 48 或 49 或者大于 118 的值表示自定义纸张大小;但是,RawKind属性将返回该大小的实际整数值。IntegerPaperSize 成员1Letter2LetterSmall3Tabloid4Ledger5Legal6Statement7Executive8A39A410A4Small11A512B413B514Folio15Quarto16Standard10x1417Standard11x1718Note19Number9Envelope20Number10Envelope2 阅读全文
posted @ 2012-06-27 21:10
小软狐
阅读(2259)
评论(0)
推荐(0)