打印方法中,用CreateFile写打印端口 PrintDocument 哪个好?

HBJMSHOP 2015-09-20 11:11:44
如题,现市面上常用的两种打印方法:用CreateFile写打印端口 PrintDocument 哪个好?,请问这两种的利弊在哪,现感觉CreateFile写打印端口,有点不稳定,有时会不打印,需重启程序才行。
...全文
214 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
HBJMSHOP 2015-09-21
  • 打赏
  • 举报
回复
引用 3 楼 Forty2 的回复:
粗略来说,两者的区别如下(下图打印系统的流程简单化,供参考理解用): PrintDocument -> 打印系统服务 -> 具体的打印驱动 -> 打印机 CreateFile -> 打印机 至于那个好,我一定说是PrintDocument好。因为它得到的打印系统的帮忙,程序员不用去关心一些底层细节。 归根到底,打印数据总要传给打印机(那个红色箭头部分)。 但是具体打印机的数据格式千差万别(比如有PCL,PJL,ESP/P,Text等等),而且具体的连接方式也有好多(LPT,COM,USB,TCP,SMB等等)。 CreateFile: 如果你要自己CreateFile传送数据,要首先把打印内容渲染为打印机理解的格式,然后要根据连接方式传送数据,等等这些任务都极其繁重。而且,一旦换打印机或更改连接方式,你就要更新代码。 PrintDocument: 打印服务系统,极大简化了该过程。你只要关心如何在统一的画布(GDI)上打印内容,其他任务系统都帮你完成。系统可以利用打印驱动来渲染打印任务,帮你传输数据,包括打印机忙碌重传机制等等。
!谢谢!
HBJMSHOP 2015-09-21
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
[quote=引用 楼主 HBJMSHOP 的回复:] 有时会不打印,需重启程序才行。
那是你的程序有bug,而你不解决 bug。 这二者根本不是同样的机制。就像是你自己种菜地然后收割之后炒菜吃,跟你到饭馆去点一盘蔬菜沙拉,随随便便问“哪个好”没有意义。[/quote] 谢谢!,!!
Forty2 2015-09-21
  • 打赏
  • 举报
回复
粗略来说,两者的区别如下(下图打印系统的流程简单化,供参考理解用): PrintDocument -> 打印系统服务 -> 具体的打印驱动 -> 打印机 CreateFile -> 打印机 至于那个好,我一定说是PrintDocument好。因为它得到的打印系统的帮忙,程序员不用去关心一些底层细节。 归根到底,打印数据总要传给打印机(那个红色箭头部分)。 但是具体打印机的数据格式千差万别(比如有PCL,PJL,ESP/P,Text等等),而且具体的连接方式也有好多(LPT,COM,USB,TCP,SMB等等)。 CreateFile: 如果你要自己CreateFile传送数据,要首先把打印内容渲染为打印机理解的格式,然后要根据连接方式传送数据,等等这些任务都极其繁重。而且,一旦换打印机或更改连接方式,你就要更新代码。 PrintDocument: 打印服务系统,极大简化了该过程。你只要关心如何在统一的画布(GDI)上打印内容,其他任务系统都帮你完成。系统可以利用打印驱动来渲染打印任务,帮你传输数据,包括打印机忙碌重传机制等等。
  • 打赏
  • 举报
回复
引用 楼主 HBJMSHOP 的回复:
有时会不打印,需重启程序才行。
那是你的程序有bug,而你不解决 bug。 这二者根本不是同样的机制。就像是你自己种菜地然后收割之后炒菜吃,跟你到饭馆去点一盘蔬菜沙拉,随随便便问“哪个好”没有意义。
HBJMSHOP 2015-09-20
  • 打赏
  • 举报
回复
两者区别在哪,问下大家
内容概要:LTK8319是一款单通道H桥有刷直流电机驱动器,工作电压范围为2.5V至12V,支持最高3.9A的峰值电流和2.5A的平均电流驱动能力,适用于小家电、玩具、电子锁、机器人等小型电动设备。该芯片通过两个逻辑输入(INA和INB)控制电机的正转、反转、停止与刹车,并支持PWM调速控制。集成欠压锁定(UVLO)、过温保护(TSD)及自动故障恢复功能,确保系统安全可靠运行。当INA和INB持续为低电平时,芯片进入低功耗休眠模式,显著降低静态功耗。采用ESOP-8封装,符合环保无铅标准。; 适合人群:电子工程师、嵌入式系统开发者、电机控制技术人员,以及从事小型机电产品研发的设计人员;具备基本电路知识和电机控制经验者更佳。; 使用场景及目标:①用于驱动小型有刷直流电机或步进电机的一个绕组,实现精确的方向与速度控制;②适用于电池供电设备对功耗敏感的应用,利用休眠模式延长续航时间;③在电机启停频繁、负载波动大的场合,发挥其电流控制与保护机制优势,提升系统稳定性。; 阅读建议:此文档提供了详细的电气特性、功能逻辑表、保护机制与时序参数,建议结合典型应用电路进行硬件设计,并重点关注电源去耦电容选型、散热布局及PWM频率设置(不超过100kHz),以确保系统可靠运行。
内容概要:本文研究了一种基于遗传算法(GA)与粒子群优化算法(PSO)融合的无人机三维路径规划方法,旨在解决复杂环境无人机避障与路径优化的问题。通过构建三维空间环境模型,提出一种结合GA全局搜索能力强与PSO收敛速度快优势的混合优化策略,并利用Matlab平台完成算法仿真与路径可视化。研究不仅实现了无人机在存在多个障碍物场景下的安全、高效飞行路径规划,还对GA与PSO两种算法在路径长度、计算耗时、收敛稳定性等方面进行了对比分析,评估其性能差异,为实际应用算法选型提供依据。; 适合人群:具备一定算法设计基础和Matlab编程能力的科研人员、自动化与人工智能方向的研究生,以及从事无人机导航、智能控制等相关领域的工程技术人员。; 使用场景及目标:①应用于城市密集建筑区、山地森林等复杂地形的无人机自主巡检与应急救援任务;②为智能交通、地理测绘、灾害监测等需要自主路径决策的无人系统提供算法支持与仿真验证;③通过对比不同智能优化算法的表现,辅助研究人员在特定应用场景下选择最优路径规划方案。; 阅读建议:建议读者结合提供的Matlab代码进行仿真实验,调整种群规模、迭代次数、障碍物分布等参数,深入理解算法运行机制与性能表现,并可进一步拓展至动态环境更新、多无人机协同避障等更复杂的研究方向。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧