(虚拟打印机(ImagePrinter)下载)_虚拟打印机(ImagePrinter)下载【非官方版 】
基本简介
虚拟打印机(ImagePrinter)正式版是一款支持多种格式的图片打印工具。虚拟打印机(ImagePrinter)可以将文档“打印(虚拟打印)”成BMP、PNG、JPG、PDF等格式的文件,安装后将成为系统的默认打印机。而且虚拟打印机(ImagePrinter)还支持上传文件,可以上传文件到服务器、发送文件、发送邮件等。50vd下载站提供虚拟打印机(ImagePrinter)软件的下载服务,欢迎下载使用!
虚拟打印机(ImagePrinter)软件介绍
让低版本的office支持将文档打印成图片的工具。 ImagePrinter可以将文档“打印(虚拟打印)”成BMP、PNG、JPG、PDF等格式的文件。安装后,它将成为系统的默认打印机。 “ImagePrinter”的大小只有900多KB
安装时询问是否安装驱动,选择“是”
虚拟打印机(ImagePrinter)软件功能
输出文件支持BMP、PNG、JPG、PDF等格式。
软件体积较小,总共只有900多KB。
向下兼容,支持各种低版本Office软件。
安装后可设置为系统默认打印机。
如何自定义虚拟打印机(ImagePrinter)
1.驱动层(Driver)。好像是修改Render插件什么的。从不做。
2. spooler 层有两种类型。
(1)自定义打印处理器(PrintProcessor),一般是DDK中修改genprint的例子。将自定义代码添加到PrintDocumentOnPrintProcessor。
(2)在监控(Monitor)层。
打印假脱机(splooer)层两种两种实现方法驱动层一般都采用微软的统一驱动程序(UniDrv)。
通过打印测试页,您可以了解已安装的打印驱动程序的各个方面:驱动程序、端口等。还可以通过打印机的属性进行查看。
ImagePrinter以自定义端口的形式实现虚拟打印。
虚拟打印机(ImagePrinter) 说明
ImagePrinter是端口监视器端的虚拟打印机。
(1)系统开机时,依次调用以下函数:DllMain---InitializePrintMonitor---iEnumPorts(2次,最后一个参数为NULL)---iOpenPort;
(2) 打印文档时,依次调用以下函数:iStartDocPort---iWritePort(多次)---iEndDocPort。
以下是DDK的翻译(根据对代码的理解,有删减):
(1) 初始化打印监视器
当后台处理程序调用LoadLibrary加载打印监视器DLL时,系统立即调用DLL的DllEntryPoint函数。这时可以启用LisableThreadLibraryCalls,这样在创建和删除线程时,就不用通知DLL了。
每个DLL 都会导出一个初始化函数,该函数可以在调用LoadLibrary 后由假脱机程序调用。语言监视器DLL 和端口
监视服务器DLL 导出InitializePrintMonitor2 函数。端口监控界面
DLL 导出InitializePrintMonitorUI 函数。 (总共有3个显示器)。
这两个初始化函数的目的是返回指向其他函数(EnumPorts、OpenPort、StartDocPort 和下面使用的所有其他函数)的指针,以便假脱机程序可以调用它们。初始化函数也可以执行load
初始化操作的时间。
InitializePrintMonitor2 函数返回监视器实例句柄。监视器应该分配本地内存来存储一些定制的信息,并使用这个句柄作为分配内存的标识符。
当后台打印程序第一次启动时(通常在启动时,如果启动后台打印程序服务),它将加载所有已安装的监视器
DLL 的。调用所有Monitor 初始化函数后,打印后台处理程序将调用每个端口
显示器的EnumPorts 函数列出了显示器支持的端口。如果某个端口已添加到监视器的数据库中,则该监视器支持该端口。然后打开每个支持的端口。
(2) 端口的打开和关闭
spooler通过调用语言监视器的OpenPortEx函数来打开端口;对应端口
监视器调用OpenPort函数,语言监视器只返回从Port监视器的OpenPort获取的句柄。如果没有语言
监听,直接调用Port监听的OpenPort函数。如果打开端口后不关闭它,则无法再次打开它。
一旦端口打开,打印后台处理程序就可以调用其他函数来打印作业。这些函数将OpenPort 返回的句柄作为输入。端口什么时候关闭:系统关闭,没有打印任务.
(3) 打印打印作业
每个打印作业均以StartDocPort 开始,以EndDocPort 结束。当打印处理器
当调用假脱机程序的StartDocPrinter EndDocPrinter 函数时,将调用这两个函数。在这两个函数调用之间,未量化的WritePort,
调用ReadPort 和GetPrinterDataFromPort 函数。
这些函数都需要使用OpenPortEx(或OpenPort)返回的句柄(端口句柄)作为输入参数。
当假脱机程序调用语言监视器时
当使用WritePort函数向端口发送数据流时,这些函数一般只是在接收到的数据流中添加一些特定的语言信息,例如PJL命令,然后将其传递给相关端口
监视器的WritePort 功能。
ReadPort函数用于获取双向打印机硬件的状态信息。语言监视器
通过调用SetPort 来获取状态信息,并将信息发送到假脱机程序。假脱机程序无法调用ReadPort 函数。
如果打印硬件是双向的,语言监视器和端口监视器
应实现GetPrinterDataFromPort 函数。语言
监视器的GetPrinterDataFromPort函数以注册表值的名称作为输入,获取该名称的值(通常通过调用相关端口监视器的WritePort和ReadPort函数),并将该值返回给调用者。港口
监视器的GetPrinterDataFromPort 函数应接受I/
o 控制代码作为输入,调用DeviceIoControl将控制代码返回给端口驱动程序,并返回结果。
同类软件对比
Quick PDF Virtual Printer是一款易于操作、功能强大的PDF打印机软件。通过虚拟打印,软件可以快速将doc、txt、jpg等多种格式的文档输出为PDF格式文件,帮助用户轻松解决文档转换问题。
PdfFactory虚拟打印机是一款快速的PDF文档生成工具,pdfFactory
与其他程序相比,该产品为创建pdf 文件提供了更简单、更高效且更便宜的解决方案。
50vd下载编辑推荐:
虚拟打印机(ImagePrinter)可以将文档“打印(虚拟打印)”为BMP、PNG、JPG、PDF等格式,安装后将成为系统的默认打印机。虚拟打印机(ImagePrinter)小编亲手鉴定过,简直就是傻子!欢迎点击下载体验!
-
植物大战僵尸ol图鉴(植物大战僵尸online所有植物图鉴) 2025-07-27
-
网络抓包工具(抓包工具分析及使用方法) 2025-07-27
-
炫舞刷心动用什么歌?炫舞刷心动有什么用啊 2025-07-26
-
游戏开发巨头攻略?游戏开发巨头怎么培养专家 2025-07-26
-
微信 故障?微信异常提醒怎么解除 2025-07-26
-
七座车suv排行榜前十名?2022年七座suv销量排行榜前十名 2025-07-26
-
颓废之心好玩吗 2025-07-25
-
瑶真我赫兹 瑶真我赫兹皮肤怎么体验 2025-07-24
-
拳皇2008乱舞格斗 2025-07-24
-
英语ab级考试真题,ab级英语资料推荐 2025-07-23
男神插曲女下面软件
转盘模拟器
可爱宝贝看医生