热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

====第二次100分提问针式打印机走纸太多,如何解决?====

程序中设置了纸张大小,如下,打印预览也是设置的大小,但在针式打印机上打印后纸张走出很长一段(连续纸),不知如何解决?pageSetupDialog1.DocumentprintDocum
程序中设置了纸张大小,如下,打印预览也是设置的大小,但在针式打印机上打印后纸张走出很长一段(连续纸),不知如何解决?

pageSetupDialog1.Document = printDocument1;
pageSetupDialog1.PageSettings.PaperSize = new System.Drawing.Printing.PaperSize("Bill", grp.Width-30, grp.Height);


-----------------------------------------------------------------------------------
原贴
http://community.csdn.net/Expert/TopicView.asp?id=4315567
解决一起结贴

19 个解决方案

#1


c#用pagesize解决不了设置纸张的问题,我的解决方法是先在系统中设置一个纸张,假如是aaa,然后通过编程遍历系统纸张,传给Document,这样就可以了!!具体代码网上查!!

#2


你的应该是网络打印机,你要在打印机所在的系统设置纸张大小。不能用程序控制纸张大小。如果是本地机的就可以。

#3


记得我以前用foxpro和VB做小票打印机打印POS小票的时候也遇到这个问题,经常走很长一段空白,很浪费纸张。
具体忘记是如何实现的了,反正我记得跟程序是没有关系的。
小票打印机有串口的、并口的,如果是串口的,需要在操作系统的串口设置里进行一些相关设置。
记得我当时也是弄了很久没搞定,后来打电话问打印机厂家的服务电话,他的回答给了一些灵感。

建议你尝试用其它语言写个简单的打印,首先要确认这种情况是不是程序所造成的

#4


SqlDataAdapter(小鸟):   我用的是本地打印机,如何用程序控制?

 glider21cn(随风飞翔):最好完全用程序完成,否则要详细告诉客户如何设置,如果换了操作人员,新来的不会操作,也是一件麻烦事

#5


好像在这里的纸张大小设置不太对

#6


private void printDocument1_BeginPrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
this.printDocument1.DefaultPageSettings.PaperSize =new System.Drawing.Printing.PaperSize("Bill", 30,211);

}
这样试试看

#7


我之前做过这样一个程序,同一个程序,同样的设置。在两台打印机中打印,就是一台正常,一台不正常。到现在我也找不到原因。好在客户后来自己找两台打印机对换了。

#8


记得应该在打印机高级设置里面改一下进纸方式就可以了,有手工,连续等等,不同打印机也不一样

#9


我想这不是c#的问题,也不是c#能解决的问题。
应该去找打印机才对,与打印机的驱动等有很大关系。

#10


up

#11


在打印服务器中设了,打印机属性中也设了,都不管用啊,还有什么办法?

#12


本人遇到同样的问题,在VC++中同样的环境可以按照设置的纸张正确走纸。

#13


程序中设置的纸张大小必须是控制面板中打印机已的纸张,否则不行,
也就是说实际上自定义纸张是无效的,即使定义了,实际走纸是按控制面板中打印机默认纸张如“A4”

所以,楼如果走纸是固定大小的,可以进入控制面板定义一个纸张大小并设置为默认纸张就可,这样
在程序中自定义才有效调用这个自定义的默认纸张,否则必须调用API。

http://community.csdn.net/Expert/topic/4260/4260928.xml?temp=.717251

#14


对于非标准的纸型,我没有进行任何别的设置,
我发现 flygoldfish(长江支流) 的MisGoldPrinter
是可以正确走纸的,可惜flygoldfish(长江支流)
没有开放GolePrinter的这一部分代码,如果还有
哪位仁兄知道,望不吝赐教,非常感谢。

#15


www.webmis.com.cn

PrinterPageSetting 点击这里下载 源码 2005-04-18 打印页面设置、打印机设置、打印预览对话框 

这个就是啊


没有开放GoldPrinter的这一部分代码
http://www.webmis.com.cn/MisGoldPrinter.htm
 [开源学习版下载]
MIS金质打印通的源码

#16


study

#17


帮你顶

#18


兄弟,我这里有一个控件,是可以设置纸张大小的,你要不要,MSN留下,我们不能上QQ

#19


谢谢  flygoldfish(长江支流) ,你的程序PrintPageSetUp
给了我启发,并且解决了问题,在此与诸位共享:
  在定义PrintDocument时定义纸张是会一起冲突的,即:
   在PrintDocument中定义纸张可以模拟显示正确,但在打印
   时,总是按照A4走纸,而且屏蔽了打印时所做的打印设置。
   所以,你最好在打印时使用打印设置,象 flygoldfish(长江支流) 
   那样封装在PrintSettings中最好。举例如下:
  PrtMyPrintDocument pd = new PrtMyPrintDocument(my); //假定为默认打印机
  pd.DefaultPageSettings = this.PrtSetUp(pd);
  PrintPreviewDialog dlg = new PrintPreviewDialog() ;
  dlg.Document = pd;
  DialogResult result = dlg.ShowDialog();
  if (result == DialogResult.OK) 
  {
pd.Print();
  }
  其中PrtMyPrintDocument是我自己定义的PrintDocument继承类,由于一开始
定义了纸张,所以一直不能正确走纸,现在正常。
  this.PrtSetUp(pd)方法很简单,参考flygoldfish(长江支流)的代码如下:
  private PageSettings PrtSetUp(PrintDocument printDocument)
{
//声明返回值的PageSettings
PageSettings ps = new PageSettings();
//申明并实例化PageSetupDialog
PageSetupDialog psDlg = new PageSetupDialog();
try
{
//相关文档及文档页面默认设置
psDlg.Document = printDocument;
psDlg.PageSettings = printDocument.DefaultPageSettings;
//显示对话框
DialogResult result = psDlg.ShowDialog();
if (result == DialogResult.OK)
{
ps = psDlg.PageSettings;
printDocument.DefaultPageSettings = psDlg.PageSettings;
}
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString(),"出现打印错误");
}
finally
{
psDlg.Dispose();
psDlg = null;
}
return ps;
}
你完全可以定义自己的其他参数,再一次谢谢长江支流)!
希望以上对各位有用。

#20


  • 如何控制针式打印机走纸
  • 针式打印机走纸控制

推荐阅读
  • 本文探讨了Java编程中MVC模式的优势与局限,以及如何利用Java开发一款基于鸟瞰视角的赛车游戏。 ... [详细]
  • 本文详细介绍了ASP.NET缓存的基本概念和使用方法,包括输出缓存、数据缓存及其高级特性,如缓存依赖、自定义缓存和缓存配置文件等。通过合理利用这些缓存技术,可以显著提升Web应用程序的性能。 ... [详细]
  • 本文深入探讨了HTTP请求和响应对象的使用,详细介绍了如何通过响应对象向客户端发送数据、处理中文乱码问题以及常见的HTTP状态码。此外,还涵盖了文件下载、请求重定向、请求转发等高级功能。 ... [详细]
  • 本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ... [详细]
  • 本文详细介绍了 org.apache.commons.io.IOCase 类中的 checkCompareTo() 方法,通过多个代码示例展示其在不同场景下的使用方法。 ... [详细]
  • JavaScript 基础语法指南
    本文详细介绍了 JavaScript 的基础语法,包括变量、数据类型、运算符、语句和函数等内容,旨在为初学者提供全面的入门指导。 ... [详细]
  • 本文介绍了如何在iOS应用中自定义导航栏按钮,包括使用普通按钮和图片生成导航条专用按钮的方法。同时,探讨了在不同版本的iOS系统中实现多按钮布局的技术方案。 ... [详细]
  • iOS 开发技巧:TabBarController 自定义与本地通知设置
    本文介绍了如何在 iOS 中自定义 TabBarController 的背景颜色和选中项的颜色,以及如何使用本地通知设置应用程序图标上的提醒个数。通过这些技巧,可以提升应用的用户体验。 ... [详细]
  • 本文详细介绍了Oracle数据库中审计日志(audit trail)的配置方法及各参数选项的功能,包括如何启用系统范围的审计记录,以及如何将审计数据存储在不同的位置和格式。 ... [详细]
  • iOS绘制就是采集点,贝塞尔曲线得到形状,绘图上下文去渲染出来AsanaDrawsana图形库,设计的挺好他可以画多种图形, ... [详细]
  • 本文介绍如何利用QFileSystemModel进行目录的浏览、创建及删除操作,并提供了一个简单的对话框界面实现。 ... [详细]
  • 在现代Web应用中,当用户滚动到页面底部时,自动加载更多内容的功能变得越来越普遍。这种无刷新加载技术不仅提升了用户体验,还优化了页面性能。本文将探讨如何实现这一功能,并介绍一些实际应用案例。 ... [详细]
  • 反向投影技术主要用于在大型输入图像中定位特定的小型模板图像。通过直方图对比,它能够识别出最匹配的区域或点,从而确定模板图像在输入图像中的位置。 ... [详细]
  • 本文介绍如何在Spring Boot项目中集成Redis,并通过具体案例展示其配置和使用方法。包括添加依赖、配置连接信息、自定义序列化方式以及实现仓储接口。 ... [详细]
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
author-avatar
N__Z少爷_763
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有