一種半虛擬化打印的方法和裝置的制造方法
【技術領域】
[0001]本發明涉及計算機領域,特別是涉及一種半虛擬化打印的方法和裝置。
【背景技術】
[0002]虛擬打印技術是在操作系統中使用軟件模擬真實的打印機,虛擬打印是在編輯軟件中,選擇一個虛擬的打印機,并利用虛擬打印機的驅動將編輯軟件中的文檔以版式文件形式輸出,比如,在編輯word中,利用“Adobe PDF”虛擬打印機將doc文檔轉換成pdf文檔。具體的,用戶選擇虛擬打印機發起打印任務,經由打印池處理,將打印的內容發給虛擬打印機軟件。在此之后,虛擬打印機根據自定義的功能,將其生成Pdf文件。
[0003]文檔格式之間的轉換一般采用虛擬打印機打印來完成,但是在打印過程中,由于源數據即編輯軟件中的原始文檔,如word文檔經過虛擬打印機的驅動標準接口的處理后,可能會發生信息損失。
[0004]目前,基于虛擬打印技術研發了安全打印技術方案,用以管理、控制用戶的打印操作,并對印刷品進行全生命周期追溯。以下是系統的原理說明:
[0005]在現有的虛擬打印機技術方案中,首先需要在用戶的PC機上安裝虛擬打印機。發起打印任務時的流程可參閱圖1所示。
[0006]具體的,用戶使用虛擬打印機發起打印任務;操作系統的打印假脫機組件處理打印任務,并植染成增強元文件(Enhanced MetaFile,EMF)格式的數據(視情況而定,也可能生成其他格式),發給虛擬打印機;虛擬打印機獲取到數據后,發給打印管控系統;經過審批確認;在輸出階段,對收到的數據進行業務相關處理;發起新的打印任務;使用真實打印機發起打印任務。
[0007]然而,虛擬打印機存在無法發揮打印機高級特性及自定義特性的問題。
[0008]由于部分虛擬打印機設備的驅動與硬件之間,存在設備廠商的私有定義,如裝訂選項、品質調優選項、省墨選項、N-up等非通用功能。這部分功能的設定通常保存在由驅動生成的數據中。驅動生成的數據可能包括非公開的打印機原始記錄數據、私有指令及私有結構體等。由于虛擬打印機屬于通用打印機,無法獲取并模擬各廠商驅動的高級特性,會造成功能丟失。
[0009]另外,部分標準設定,如紙張等,存在打印機的自定義尺寸及用戶定義大小,這部分可由打印機廠商在驅動程序編輯并在自己的設備硬件中解析,因此也有出現錯誤的風險。
【發明內容】
[0010]本發明實施例提供一種半虛擬化打印的方法和裝置,用以解決現有技術中虛擬打印機存在無法發揮打印機高級特性及自定義特性的問題。
[0011]本發明實施例提供的具體技術方案如下:
[0012]一種半虛擬化打印的方法,包括:
[0013]基于用戶提交的打印任務獲取初始待打印數據;
[0014]調用真實打印機驅動獲取打印相關參數,并基于打印相關參數對初始待打印數據進行格式處理,獲得待打印數據;
[0015]針對待打印數據執行打印操作。
[0016]這樣,可以保留打印機的所有特性。
[0017]較佳的,調用真實打印機驅動獲取打印相關參數之后,并對所述初始待打印數據和打印相關參數進行格式處理之前,進一步包括:
[0018]若當前部署環境為打印任務發起階段對打印頁面進行調整,則判定能夠直接對所述初始待打印數據進行格式處理;
[0019]若當前部署環境為打印任務輸出階段對打印頁面進行調整,則判定在接收到業務管控系統的打印操作指令時,再對所述初始待打印數據進行格式處理。
[0020]較佳的,獲得待打印數據之后,執行打印操作之前,進一步包括:
[0021]若當前部署環境為打印任務發起階段對打印頁面進行調整,則判定在接收到業務管控系統的打印操作指令時,再進行后續的打印操作;
[0022]若當前部署環境為打印任務輸出階段對打印頁面進行調整,則判定能夠直接進行后續的打印操作。
[0023]較佳的,進行后續的打印操作之前,進一步包括:
[0024]對所述待打印數據進行業務相關信息驗證,驗證成功后判定能夠執行打印操作。
[0025]較佳的,執行打印操作之后進一步包括:
[0026]將打印的數據保存在指定的存儲空間中。
[0027]一種半虛擬化打印的裝置,包括:
[0028]獲取單元,用于基于用戶提交的打印任務獲取初始待打印數據;
[0029]處理單元,用于調用真實打印機驅動獲取打印相關參數,并基于所述打印相關參數對所述初始待打印數據進行格式處理,獲得待打印數據;
[0030]執行單元,用于針對所述待打印數據執行打印操作。
[0031]較佳的,調用真實打印機驅動獲取打印相關參數之后,并對所述初始待打印數據和打印相關參數進行格式處理之前,所述處理單元進一步用于:
[0032]若當前部署環境為打印任務發起階段對打印頁面進行調整,則判定能夠直接對所述初始待打印數據進行格式處理;
[0033]若當前部署環境為打印任務輸出階段對打印頁面進行調整,則判定在接收到業務管控系統的打印操作指令時,再對所述初始待打印數據進行格式處理。
[0034]較佳的,獲得待打印數據之后,執行打印操作之前,所述處理單元進一步用于:
[0035]若當前部署環境為打印任務發起階段對打印頁面進行調整,則判定在接收到業務管控系統的打印操作指令時,再進行后續的打印操作;
[0036]若當前部署環境為打印任務輸出階段對打印頁面進行調整,則判定能夠直接進行后續的打印操作。
[0037]較佳的,進行后續的打印操作之前,所述處理單元進一步用于:
[0038]對所述待打印數據進行業務相關信息驗證,驗證成功后判定能夠執行打印操作。
[0039]較佳的,執行打印操作之后,執行單元進一步用于:
[0040]將打印的數據保存在指定的存儲空間中。
【附圖說明】
[0041]圖1為現有技術下虛擬打印流程示意圖;
[0042]圖2為本發明實施例中半虛擬化打印的具體流程圖;
[0043]圖3為本發明實施例中任務發起階段裝飾的半虛擬化打印的具體流程圖;
[0044]圖4為本發明實施例中任務發起階段裝飾的半虛擬化打印的結構示意圖;
[0045]圖5為本發明實施例中任務輸出階段裝飾的半虛擬化打印的具體流程圖;
[0046]圖6為本發明實施例中任務輸出階段裝飾的半虛擬化打印的結構示意圖;
[0047]圖7為本發明實施例中半虛擬化打印的裝置的結構示意圖。
【具體實施方式】
[0048]為了解決虛擬打印機無法發揮打印機高級特性及自定義特性的問題,本發明實施例中,提出了一種半虛擬化打印的方法和裝置,基于用戶提交的打印任務獲取待打印數據;對待打印數據進行業務相關信息驗證,確定驗證成功時進行打印操作,由于使用真實的打印驅動發起打印任務,并由真實的打印驅動與硬件通信并最終輸出,因此可以保留打印機的所有特性。
[0049]下面結合附圖對本發明優選的實施方式進行詳細說明。
[0050]參閱圖2所示,本發明實施例中,半虛擬化打印的具體流程如下:
[0051]步驟200:基于用戶提交的打印任務獲取初始待打印數據。
[0052]其中,用戶提交打印任務如記事本、MS Office、各類圖像等;初始待打印數據一般為EMF格式數據。
[0053]步驟210:調用真實打印機驅動獲取打印相關參數,并基于打印相關參數對初始待打印數據進行格式處理,獲得待打印數據。
[0054]這里,打印相關參數可以是打印的份數、打印機名稱,文檔名,打印數據格式,打印處理器,Windows登陸的用戶名,任務發起時間、省墨選項、品質調優選項以及裝訂選項等。
[0055]本發明實施例中,在執行步驟210時,采用假脫機組件調用真實打印機驅動獲取打印相關參數之后,并對初始待打印數據和打印相關參數進行格式處理之前,
[0056]若當前部署環境為打印任務發起階段對打印頁面進行調整,則判定能夠直接對初始待打印數據進行格式處理;
[0057]若當前部署環境為打印任務輸出階段對打印頁面進行調整,則判定在接收到業務管控系統的打印操作指令時,再對初始待打印數據進行格式處理。
[0058]如接收收到“確定”的操作指令時,再對初始待打印數據進行格式處理。
[0059]其中,獲取的待打印數據一般為RAW格式數據。
[0060]這里,對打印頁面的調整是指對打印頁面進行增加水印以及條碼等修改。
[0061]進一步地,如果需要打印N份任務,要對打印頁面進行調整,因為每份打印任務的條碼、水印不同,所以需要將要打印N份的任務,拆成N個打印任務來處理。
[0062]此外,為了方便起見,當前部署環境為打印任務發起階段對打印頁面進行調整,下面簡稱為任務發起階段裝飾,當前部署環境為打印任務輸出階段對打印頁面進行調整,下面簡稱為任務輸出階段裝飾。
[0063]獲得待打印數據之后,執行打印操作之前,若當前部署環境為打印任務發起階段對打印頁面進行調整(任務發起階段裝飾),則判定在接收到業務管控系統的打印操作指令時,再進行后續的打印操作;
[0064]若當前部署環境為打印任務輸出階段對打印頁面進行調整(任務輸出階段裝飾),則判定能夠直接進行后續的打印操作。
[0065]可選的,對待打印數據進行業務相關信息驗證,驗證成功后判定能夠執行打印操作。
[0066]這里,業務相關信息驗證指的是打印任務是否在打印安全系統的控制下,防止用戶繞過安全系統進行打印操作,驗證是否通過審批系統等。
[0067]例如,可以通過語言監視器來進行業務驗證,其中,語言監視器是真實打打印機驅動的一部分,所以,操作系統部分的假脫機組件調用了真實打印機廠商提供的(在這里是半虛擬化系統提供的)語言監視器來進行業務驗證。
[0068]進行打印操作之后,將打印的數據保存在指定的存儲空間中。這樣,便用以后查找或者審計。
[0069]步驟220:針對待打印數據執行打印操作。
[0070]下面結合兩個具體的應用場景對上述實施例做進行一步的說明。
[0071]參閱圖3所示,任務發起階段裝飾的半虛擬化打印流程如下:
[0072]步驟300:基于用戶選擇應用程序發起的打印任務,獲取初始待打印數據。
[0073]步驟310:調用真實打印機驅動獲取打印相關參數。
[0074]其中,獲取初始待打印數據以及打印相關參數都屬于打印監視系統獲取的數據,具體的,基于打印監視系統獲取的數據包括兩個方面:一方面是基于用戶所選應用程序發起的打印任務,獲取初始待打印數據(簡稱應用