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

C#批量打印快递单连打的问题

现在单打已经通过单个打印了怎么实现批量连打如果一个一个的数据添加的话打印机每次打印一张纸的话就会停顿一下矫正打印针如何实现一直打印不停顿高手出来指点一下啊!这个是打印的代码!
现在单打已经通过单个打印了 怎么实现批量连打 如果一个一个的数据添加的话 打印机每次打印一张纸的话 就会停顿一下 矫正打印针  如何实现一直打印 不停顿 高手出来指点一下啊!

这个是打印的代码! 

                        //设置<打印文档>的边距
                        Margins margin = new Margins(0, 0, 0, 0);
                        pd.DefaultPageSettings.Margins = margin;
                        //设置<打印文档>的纸张大小
                        PaperSize pageSize = new PaperSize("快递单打印", Convert.ToInt32(MillimetersToPixel(Convert.ToInt32(dtBillType.Rows[0]["BillWidth"]), fDpiX)), Convert.ToInt32(MillimetersToPixel(Convert.ToInt32(dtBillType.Rows[0]["BillHeight"]), fDpiY)));
                        pd.DefaultPageSettings.PaperSize = pageSize;
                        //设置打印状态
                        pd.PrintController = new StandardPrintController();
                        //设置打印机名
                        pd.PrinterSettings.PrinterName = "Epson LQ-1600K";
                        printPreviewDialog.Document = pd;
                        printPreviewDialog.ShowDialog();
                        pd.Print();

7 个解决方案

#1


GDI+画的时候直接把页面高度设置成单页面高度*数量,循环数据画在对应的位置上,然后只执行一次Print()
不过这样有可能出现打着打着就窜行了的情况

#2


我查了好多资料也没找到 快递单连打的资料啊 别人的那种打印方法也不知道是什么样的打印方法! 他们是可以批量设置打印页 我这个是可以打印的 关键就是效率太低了!一张快递单加上矫正打印针的时间需要20秒以上的!太慢了!

你的意思是说把 pageSize这个直接设置纸张大小的高度设置为打印多少张的高度 然后按照比例循环填入数据 只执行一次操作? 

#3


是的

#4


此外,打印的快慢跟打印机有关系
打印一张需要20秒,明显是打印机打印的太慢了
你用打印机打印个word试试看,如果也那么慢,就跟你的代码没啥关系

而你修改代码后也只是节约了每张之间的停顿时间,而且会有打印N张之后纸张偏移越来越大的风险

#5


每打印一张就撕掉一张,然后打印机退纸重新打印下一张,这种方式必然是最不会产生差错的方式,不过也是效率最低的方式

#6


我要修正的就是打印之间的停顿时间的!他主要慢就慢在打印针头在矫正位置! 每打完一单 就要停顿好久 打印一单是很快的! 我测试下 看纸张设置大一些是否可行! 

#7


纸张应该会有最大高度限制,不能无限大的.
最大应该是65535吧
反正你也不应该一次性打几百张,那样中间如果出了差错就不好办了
其实控制在一次打印个20-30张比较好,然后让打印机归位一次

推荐阅读
  • 在iOS设备上实现闪光灯的开关控制功能,可以通过编写自定义的ViewController代码来实现。本文介绍了具体的实现方法,并提供了详细的代码示例,帮助开发者轻松掌握这一功能的开发技巧。 ... [详细]
  • 在数据表中,我需要触发一个操作来刷新特定列的数据。例如,对于以下表格:| ID | Name | IsDeleted ||----|-------|-----------|| 1 | test | True || 2 | test2 | False |我希望在点击“更新”按钮时,能够仅刷新选定行的“IsDeleted”列。这将有助于确保数据的实时性和准确性。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 在《ChartData类详解》一文中,我们将深入探讨 MPAndroidChart 中的 ChartData 类。本文将详细介绍如何设置图表颜色(Setting Colors)以及如何格式化数据值(Formatting Data Values),通过 ValueFormatter 的使用来提升图表的可读性和美观度。此外,我们还将介绍一些高级配置选项,帮助开发者更好地定制和优化图表展示效果。 ... [详细]
  • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
  • 本文介绍了如何利用 Delphi 中的 IdTCPServer 和 IdTCPClient 控件实现高效的文件传输。这些控件在默认情况下采用阻塞模式,并且服务器端已经集成了多线程处理,能够支持任意大小的文件传输,无需担心数据包大小的限制。与传统的 ClientSocket 相比,Indy 控件提供了更为简洁和可靠的解决方案,特别适用于开发高性能的网络文件传输应用程序。 ... [详细]
  • 在当前的软件开发领域,Lua 作为一种轻量级脚本语言,在 .NET 生态系统中的应用逐渐受到关注。本文探讨了 Lua 在 .NET 环境下的集成方法及其面临的挑战,包括性能优化、互操作性和生态支持等方面。尽管存在一定的技术障碍,但通过不断的学习和实践,开发者能够克服这些困难,拓展 Lua 在 .NET 中的应用场景。 ... [详细]
  • 在C#编程中,`List`集合提供了多种方法来高效地查找满足特定条件的元素。虽然`FirstOrDefault`方法常用于查找集合中第一个符合条件的对象,并在未找到时返回默认值,但若需要查找最后一个符合条件的元素,则可以使用`LastOrDefault`方法。该方法同样支持未找到匹配项时返回默认值,从而提供更加灵活的查询选项。此外,`LastOrDefault`方法在处理大量数据时依然保持高效的性能,适用于各种复杂场景。 ... [详细]
  • 在Java分层设计模式中,典型的三层架构(3-tier application)将业务应用细分为表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。这种分层结构不仅有助于提高代码的可维护性和可扩展性,还能有效分离关注点,使各层职责更加明确。通过合理的设计和实现,三层架构能够显著提升系统的整体性能和稳定性。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • Spring框架的核心组件与架构解析 ... [详细]
  • 本文介绍了一种利用Dom4j库和JFileChooser组件在Java中实现XML文件自定义路径导出的方法。通过创建一个Document对象并设置根元素,结合JFileChooser选择目标路径,实现了灵活的XML文件导出功能。具体步骤包括初始化Document对象、构建XML结构以及使用JFileChooser选择保存路径,确保用户能够方便地将生成的XML文件保存到指定位置。 ... [详细]
  • 英语面试技巧:提升个人技能与表现
    在英语面试中,个人技能是指除专业知识外,能够促进职业发展的各种能力。虽然你可能具备多种技能,但建议重点突出与目标岗位最相关的几项,以增强面试官对你专业能力和适应性的认可。 ... [详细]
  • 在 Windows 10 环境中,通过配置 Visual Studio Code (VSCode) 实现基于 Windows Subsystem for Linux (WSL) 的 C++ 开发,并启用智能代码提示功能。具体步骤包括安装 VSCode 及其相关插件,如 CCIntelliSense、TabNine 和 BracketPairColorizer,确保在 WSL 中顺利进行开发工作。此外,还详细介绍了如何在 Windows 10 中启用和配置 WSL,以实现无缝的跨平台开发体验。 ... [详细]
  • 在Formtastic中,预选模型对象集合作为复选框的使用方法与技巧。本文介绍了如何将模型对象集合传递给Formtastic表单,并在复选框中预选这些对象。通过示例代码和详细解释,展示了如何高效地实现这一功能,确保用户界面友好且操作简便。具体来说,通过 `@things = Thing.all` 将所有对象加载到集合中,并在表单中进行预选。这种方法不仅提高了代码的可读性和维护性,还增强了用户体验。 ... [详细]
author-avatar
快乐俱乐部老巢_260
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有