虚拟打印机 android版,虚拟打印机(ImagePrinter)
虛擬打印機(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)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2. with check option
- 下一篇: OD汇编需要标签