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

相似软件

版本说明

软件地址4.2 官方版

查看

3.0 免费版

查看

虚拟打印机(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)小编亲自鉴定,童叟无欺!欢迎点击下载体验!

虚拟打印机 android版,虚拟打印机(ImagePrinter)相关推荐

  1. android 蓝牙地址连接打印机,android 连接蓝牙打印机 BluetoothAdapter

    android 连接蓝牙打印机 BluetoothAdapter 源码下载地址:https://github.com/yylxy/BluetoothText.git public class Prin ...

  2. android插件实现打印机,Android USB调用打印机(针式打印机)

    1.在AndroidManifest.xml中配置权限 复制代码 在调用的activity中加入 复制代码 如图在这里输入图片标题 2.在onCreate调用 PrinterUtil.init(Act ...

  3. hiti打印机android驱动,HiTi 打印机 驱动程序下载——更新 HiTi 软件

    HiTi 打印机 驱动程序下载 如何手动下载和更新: 你可以通过 %%os%% 或通过执行 Windows® 更新获取基本的 HiTi Printer 驱动程序. 内置驱动程序将支持Printer的基 ...

  4. 打印机虚拟服务器,FinePrint_服务器版虚拟打印机程序 V6.13 Server 英文版

    FinePrint Server版发布!主要功能包括: 在一张纸上打印 2, 4, 或 8 页.双面打印,小册子.普通打印预览.页面删除和插入.把多个打印任务整合到一个任务中.保存为 bmp, tif ...

  5. tewa750g 虚拟服务器,把你的打印机共享出来:Hardlink 固网 打印服务器HP-1007

    把你的打印机共享出来:Hardlink 固网 打印服务器HP-1007 2014-11-19 20:15:02 22点赞 69收藏 47评论 最近办公室几个人抢打印机比较恼火,开始搜索解决方法,然后就 ...

  6. 虚拟机连接物理机的打印机_deepin下virtualbox虚拟windows 7系统安装物理打印机的方法...

    正在使用deepin linux操作系统,工作多数用windows 7,目前打印机在linux下支持得不是很理想,在用到打印机时总是在这两个操作系统中切换来切换去很麻烦,所以在deepin linux ...

  7. View 5应用之五:iPad与Android携带虚拟桌面

    摘要:iPad和Android设备上的View Client与PC/瘦客户机上的版本使用起来有很大的不同,而View for iPad/Android之间在安装与使用上也是既有共性,又有差异. 内容: ...

  8. import android.view.window;,尝试在空对象引用上调用虚拟方法‘android.view.Window$回调...

    尝试在空对象引用上调用虚拟方法'android.view.Window$回调-android.view.Window.getCallback()' 当我SplashActivity打开LoginAct ...

  9. Android 隐藏虚拟按键

    Android 隐藏虚拟按键 领导要求: 横屏播放视频时,不展示虚拟按键: 恢复到竖屏时,展示虚拟按键: /*** NavigationBar 显示与隐藏*/ public class Navigat ...

  10. Android适配虚拟按键-亲测华为小米手机有效

    Android适配虚拟按键-亲测华为小米手机有效 应用上传华为应用市场,结果被拒,原因是真人测试手机带虚拟按键,结果导致虚拟按键和屏幕某点击事件冲突,一点击就会退出到手机主页.废话不多说,直接上代码. ...

最新文章

  1. 让瓶颈暴露--监测你的SQL SERVER
  2. elasticsearch插件(4)
  3. 把一个中文日期时间格式字符串转为日期时间
  4. 安卓进阶系列-07数据库框架(GreenDAO)的使用
  5. python语言1002python语言_PYTHON语言学习
  6. win10锁定计算机会断网吗,Win10专业版如何设置锁屏后不断网?超详细的图文教程...
  7. apache之mod_status mod_info即时监控模块
  8. Android 7.1 32位apk导致的系统库找不到问题
  9. SQL实现对销售表现重要指标的计算,对用户特征分层看销售贡献,并统计消费的二八法则
  10. android tv 盒子,安卓TV电视盒子推荐软件一览表(盒子端+手机端+电脑端+群晖端)...
  11. 六年级计算机信息技术教案反思,小学六年级信息技术教学反思.doc
  12. 苹果支付 php,【苹果支付二】apple pay苹果支付以及自动续订订阅开发 - Laravel学习网...
  13. ubuntu下无线网络网速缓慢问题解决
  14. 第一部分 利用opencv基于hsv颜色的目标提取效果和python代码
  15. Hyperledger Fabric 1.0 快速搭建 -------- 多机部署 Fabric CA节点服务
  16. 经典爬虫:爬取百度股票
  17. securecrt启动mini2440卡在Please press Enter to activate this console问题已解决
  18. vc6.0 mfc一些函数明明调用语法正确,但是提示函数或者函数参数未定义等问题解决方法。
  19. 0301 、Web服务器简介、虚拟Web主机、NFS服务基础、触发挂载
  20. MySQL高级- group by ,order by 索引优化

热门文章

  1. 如何设置pycharm代码字体
  2. hbuild html5打包apk,使用HBuilder打包5+App
  3. STM32开发环境搭建
  4. mysql知识思维导图
  5. 【亲测有效】无法定位链接器!请检查 tools\link.ini 中的配置是否正确的解决方案...
  6. 初中数学最全几何模型_初中数学几何模型大全+经典题型(含答案)
  7. enterprise architect绘画ER图
  8. 试验设计第二版茆诗松课后题答案_试验设计习题及答案
  9. keypress事件中键盘上每个键的KeyAscii值(易语言/VB)
  10. 2N点实数序列为 N=64。用一个复数FFT程序,一次算出,并绘出。