文檔照片打印處理

文章頻道 軟件下載 安卓下載 蘋果下載

當前位置:首頁軟件下載應用軟件打印工具 → 文檔照片打印處理 v1.3官方版
文檔照片打印處理

文檔照片打印處理v1.3官方版

文檔照片打印處理最新版下載評分:3.5
下載地址
  • 軟件介紹
  • 軟件截圖
  • 猜你喜歡
  • 同類推薦
  • 相關文章

文檔照片打印處理是一款操作上非常簡便,各功能在界麵上顯示的非常清楚,為用戶提供照片打印的輔助工具,在打印前可對圖像進行亮度、對比度、色調等調整,用戶能夠預覽到其效果,滿意之後就能開始打印了。

【軟件介紹】

文檔照片打印處理支持將文檔打印成圖片的工具,ImagePrinter可以將文檔“打印(虛擬打印)”成BMP、PNG、JPG、PDF等格式的文件,安裝後會成為係統的默認打印機。

【使用方法】

1、圖片拖入到窗口

2、調整亮度和對比度

3、可以直接打印或保存修改的圖片

【軟件功能】

1、驅動層(Driver)一種。好像是修改Render plug-in什麼的。沒做過。

2、打印假脫機(splooer)層兩種。

(1)自定義打印處理器(PrintProcessor),一般是修改DDK中genprint的例子。將自定義的代碼加入到PrintDocumentOnPrintProcessor中。

(2)在監視(Monitor)層。

打印假脫機(splooer)層兩種的兩種實現方法驅動層一般都用微軟統一驅動程序(UniDrv)。

通過打印測試頁可以了解安裝的打印驅動的各個方麵:驅動程序、端口等。也可以通過打印機的屬性查看。

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,並返回結果。

展開內容

軟件截圖

  • 文檔照片打印處理v1.3官方版

下載地址

  • PC版

同類推薦

相關文章

本類排行

  • 周排行
  • 月排行

感謝速聯科技、八度網絡、九九數據、億恩科技、群英網絡讚助部分帶寬!

關於本站 | 聯係方式 | 版權聲明 | 下載幫助(?) | 網站地圖

Copyright 2002-2020 95262.com 【數碼資源網】 版權所有 粵ICP備2020128507號-1

本站所有軟件來自互聯網,版權歸原著所有。如有侵權,敬請來信告知 ,我們將及時撤銷。