虚拟打印机(ImagePrinter)正式版是款支持很多格式的图片打印工具。虚拟打印机(ImagePrinter)可以将文档“打印(虚拟打印)”成BMP、PNG、JPG、PDF等格式的文件,安装后会成为系统的默认打印机。并且虚拟打印机(ImagePrinter)还支持上传文件,可以将文件上传到服务器,发送文件、发送电子邮件等。华军软件园提供虚拟打印机(ImagePrinter)软件的下载服务,欢迎大家前来下载使用!

虚拟打印机(ImagePrinter)软件介绍

让低版本的office支持将文档打印成图片的工具,ImagePrinter可以将文档“打印(虚拟打印)”成BMP、PNG、JPG、PDF等格式的文件,安装后会成为系统的默认打印机。「ImagePrinter」的体积只有900多KB

安装时问你是否安装驱动程序,选择“是”

虚拟打印机(ImagePrinter)软件特色

输出文件支持BMP、PNG、JPG、PDF等格式。

软件体积小巧,总共只有900多KB大小。

向下兼容,支持各种低版本Office软件。

安装之后可以设置为系统的默认打印机。

虚拟打印机(ImagePrinter)定制方法

1、驱动层(Driver)一种。好像是修改Render plug-in什么的。没做过。

2、打印假脱机(splooer)层两种。

(1)自定义打印处理器(PrintProcessor),一般是修改DDK中genprint的例子。将自定义的代码加入到PrintDocumentOnPrintProcessor中。

(2)在监视(Monitor)层。

打印假脱机(splooer)层两种的两种实现方法驱动层一般都用微软统一驱动程序(UniDrv)。

通过打印测试页可以了解安装的打印驱动的各个方面:驱动程序、端口等。也可以通过打印机的属性查看。

ImagePrinter是用的自定义端口的形式实现虚拟打印。

虚拟打印机(ImagePrinter)使用说明

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,并返回结果。

同类软件对比

迅捷PDF虚拟打印机是一款操作简单、功能强大的PDF打印机软件。软件通过虚拟打印的方式,可快速将doc、txt、jpg等多种格式文档输出为PDF格式文件,帮助用户轻松解决文档转换难题。

PdfFactory虚拟打印机是一款快捷的PDF文档生成工具,pdfFactory

产品提供了比其他程序提供得更简单、更有效率和更少的花费的创建pdf文件的解决方案。

华军小编推荐:

虚拟打印机(ImagePrinter)可以将文档“打印(虚拟打印)”成BMP、PNG、JPG、PDF等格式的文件,安装后会成为系统的默认打印机。虚拟打印机(ImagePrinter)小编亲自鉴定,童叟无欺!欢迎点击下载体验!

服务器版本虚拟打印机,虚拟打印机(ImagePrinter)相关推荐

  1. 服务器虚拟打印机为什么经常打打不,打印机虚拟论文,关于制作PDF打印服务器相关参考文献资料-免费论文范文...

    导读:这是一篇与打印机虚拟论文范文相关的免费优秀学术论文范文资料,为你的论文写作提供参考. 作者/张倩 由于PDF格式的通用性,所以单位内部很多文档对外流转都是采用PDF格式的,因此就要求所有的电脑都 ...

  2. 虚拟服务器IP地址创建,虚拟服务器的ip地址

    虚拟服务器的ip地址 内容精选 换一换 虚拟IP地址用于为网卡提供第二个IP地址,同时支持与多个弹性云服务器的网卡绑定,从而实现多个弹性云服务器之间的高可用性.登录管理控制台.选择"计算 & ...

  3. 华为虚拟机服务器怎么使用教程,虚拟机装服务器教程

    虚拟机装服务器教程 内容精选 换一换 应用容器化改造有三种方式,您可单击这里查看.本教程以某游戏为例,将该游戏进行微服务的架构改造,再进行容器化.本教程不对改造细节做深度讲解,仅讲解大致的建议.如需要 ...

  4. 光猫 虚拟服务器设置,光猫虚拟服务器设置

    光猫虚拟服务器设置 内容精选 换一换 对于不同的硬件设备,通过在BIOS中设置一些高级选项,可以有效提升服务器性能.此优化项只在非虚拟化场景使用,在虚拟化场景,则开启SMMU.重启服务器过程中,单击D ...

  5. aws搭建包含服务器和网络的虚拟基础设施(2)

    1.EC2使用 1.1启动虚拟服务器:即启动一个EC2实例 1.2使用SSH连接到虚拟服务器 1.3手动安装和运行软件 1.4监控和调试虚拟服务器 1.5关闭虚拟服务器 1.6更改虚拟服务器的容量 1 ...

  6. 云服务器虚拟目录吗,虚拟主机 虚拟目录

    虚拟主机 虚拟目录 内容精选 换一换 前面讲了如何安装配置Nginx,大家可以去这里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category ...

  7. 有云服务器还需要云虚拟主机吗,有云服务器还需要云虚拟主机吗

    有云服务器还需要云虚拟主机吗 内容精选 换一换 华为云主机迁移服务帮助中心,为用户提供产品简介.快速入门.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用主机迁移服务. ...

  8. windows无法确定此计算机是否包含,服务器用U盘虚拟光驱装系统,有做RAID5,加载RAID驱动成功后,安装到最后会报“windows无法确定此计算机是否包含有效系统卷”错误...

    http://zhidao.baidu.com/link?url=bC5dyBz_W05bgeQOu0hF7BN7As_GjloE-Z8SeJBj8UWXZNt4eHeisP2Eo59nUwud23p ...

  9. 服务器虚拟化网口,服务器安装虚拟网口

    服务器安装虚拟网口 内容精选 换一换 Atlas 800 训练服务器(型号 9010)安装上架.服务器基础参数配置.安装操作系统等操作请参见<Atlas 800 训练服务器 用户指南 (型号90 ...

  10. 云服务器怎么安装虚拟主机,服务器上怎么安装虚拟主机

    服务器上怎么安装虚拟主机 内容精选 换一换 Linux操作系统XEN实例变更为KVM实例前,必须已完成必要的驱动安装和配置.本节操作指导您使用自动化脚本的方式为Linux云服务器安装驱动.配置磁盘自动 ...

最新文章

  1. XV6850成功刷机步骤
  2. JavaScript多文件下载
  3. css-四种css导入方式
  4. hadoop 如何连beeline_关于hadoop:将日期函数设置为变量并在beeline和hql文件中使用(hive)...
  5. 阿里技术专家玄惭回忆:我是如何自学技术拿到阿里offer
  6. Dato for Mac(菜单栏时钟工具)支持m1
  7. 学习笔记五:xss.tv通关笔记
  8. System V消息队列报Resource temporarily unavailable 错误
  9. VScode设置个性化背景
  10. 数字证书原理[转载]
  11. MATLAB---形态学滤波
  12. 硬盘服务器 路由器哪个好用吗,NAS网络存储设备与路由器+硬盘之间有什么不同之处?...
  13. 大型仪器一般都是用计算机,问题:大型仪器一般都使用计算机进行控制,对该计算机除了在性能上能满足要求,在使用方面原则上有何要求。...
  14. 登录过期--localStorage加sessionStorage实现7天登录过期
  15. 坛经与禅宗的智慧-王德峰
  16. 四种常见商务书信写作的排版格式
  17. JS---如何避免用户在请求时“猛击”
  18. springboot源码 红色J_通达信主图指标源码之,启爆点
  19. 【微信小程序入门到精通】— 事件绑定的详细解读
  20. [VisionPro] CogFixtureTool 工具详解

热门文章

  1. 项目进度计划表_没有计划表的请举手,这里送你一份
  2. Mockjs - 前端模拟请求数据生成器
  3. vb改变字形的代码是什么_VB里什么代码可以把文本框中的字改成斜体
  4. 安装Numpy的简单方法
  5. xp_cmdshell 用法
  6. 鸿蒙系统源码获取_Hi3861_HI3516DV编译环境搭建记录
  7. 海康/大华实现web直播和回放,也可以直接对接摄像头
  8. 【科普】你所不了解的SWF文件
  9. android swf 文件播放器,swf播放器怎么用?swf播放器安卓版使用教程
  10. 【IT基础】如何休息(每天都很累,但你真的会正确的休息方式么)