ImagePrinter工具提供连接区域网络中已有打印机设备或者虚拟打印机服务上的版面设定,输出纸张格式自选以及图像综合定义设定等方面的功能,并且对应内容体积大小以及图像界面管理打造图像兼容性强,输出存储区域独立还有内部打印维护等内容信息上的稳定输入优势,多次测试运行稳妥些。
输入文件拥有BMP、PNG、JPG、PDF等格局。
软件体积玲珑,总共只要900多KB大小。
向下兼容,拥有各类低版本Office软件。
装载以后可以设置为系统的默许打印机。
ImagePrinter是在Port监督器真个虚拟打印机。
(1)在系统开机时,顺序挪用以下函数:DllMain---》InitializePrintMonitor---》iEnumPorts(2次,后一次参数都是NULL)---》iOpenPort;
(2)在打印文档时,顺序挪用以下函数:iStartDocPort---》iWritePort(良多次)---》iEndDocPort。
以下是DDK的翻译(按照对代码的了解,有删减):
(1)初始化打印监督器
当spooler挪用LoadLibrary来加载的打印监督器DLL,系统当即挪用DLL的DllEntryPoint函数。可以在此时LisableThreadLibraryCalls,如许建立和删除线程时,没必要非得这个告诉DLL。
每个DLL都导出一个初始化函数,可以供spooler在挪用LoadLibrary后挪用。Language monitor DLL和port monitor server DLL导出InitializePrintMonitor2函数。port monitor UI DLL的导出InitializePrintMonitorUI函数。(总共有3中Monitor)。
这两个初始化函数的感化是前往其他函数(EnumPorts,OpenPort,StartDocPort等一切以下用的函数)的指针,如许spooler便可以挪用它们了。初始化函数也能够履行load time的初始化操作。
InitializePrintMonitor2函数前往一个监督器实例句柄。monitor应分派当地内存来存储自行设置的一些信息,并以此句柄为标识来分派内存。
当spooler第一次启动时(通常为开机时,若是你开机启动了spooler服务的话),它会载入一切已装载的monitor DLL的。一切Monitor的初始化函数挪用后,打印后台处置顺序挪用每一个port monitor的EnumPorts函数,此中罗列了monitor拥有的端口。monitor拥有一个端口,若是端口已被加入到monitor的信息库。然后翻开每一个拥有的端口。
(2)翻开和封闭端口
spooler 经由挪用language monitor的OpenPortEx函数翻开端口;绝对应的Port monitor挪用OpenPort函数,language monitor只前往从Port monitor的OpenPort取得的句柄。若是没有language monitor,就直接调Port monitor的OpenPort函数。翻开一个端口后不封闭的话,不克不及再翻开。
端口一经翻开,打印后台处置顺序便可以挪用其他函数来打印功课了。这些函数运用OpenPort前往的句柄作为输出。甚么时候端口封闭呢:系统关机,没打印义务。..。
(3)打印打印功课
每一个打印功课以StartDocPort起头,以EndDocPort竣事。当print processor 挪用的spooler的StartDocPrinter EndDocPrinter的函数时,这两个函数被挪用。在这两个函数挪用中心,不定量的WritePort, ReadPort, and GetPrinterDataFromPort函数被挪用。
这些函数都需求用到OpenPortEx(或OpenPort)前往的句柄( port handle)作为输出参数。
当spooler挪用language monitor 的WritePort函数,以将数据流发送到端口时,这些函数普通只增添一些特定的说话信息到领受到的数据流上,如PJL指令然后将它通报给相干的port monitor的WritePort性能。
ReadPort函数是用于获得双向打印机硬件的状况信息。Language monitor 经由挪用SetPort将信息发送到spooler,取得状况信息。spooler不克不及挪用ReadPort的函数。
若是打印硬件是双向的,language monitor和port monitor 都应当完成GetPrinterDataFromPort函数。language monitor的GetPrinterDataFromPort函数以注册表值的称号为输出,取得该称号的值(凡是由挪用相干的端口监督器的WritePort和ReadPort性能),并前往值给挪用者。port monitor 的GetPrinterDataFromPort函数应当接管一个I / O节制代码作为输出,挪用DeviceIoControl前往节制代码给port driver,并前往成果。
ImagePrinter常备图像系列文件的全程有效内容转换或者数据信息格式优化力度,并且要掌握好端口数值信息或者特定打印工具驱动的同步运行状况,目标还是降低一部分内容输出编辑版式或者是重新设定内部的详细规格参数的效果,批量内容打印更显著。
喜欢小编为您带来的ImagePrinter吗?希望可以帮到您~更多软件下载尽在软件爱好者
在当今社会,健康饮食成为越来越多人关注的话题。为了帮助用户更好地管理自己的饮食习惯,美团平台提供了丰富的功能来查询和了解食物的卡路里含量。本文将从多个维度详细介绍如何在美团上查询摄入卡路里的方法,帮助您轻松掌握每日热量摄入。一、了解卡路里的重要性在开始查询之前