• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于局域網(wǎng)的多臺(tái)打印機(jī)打印任務(wù)分流工具

      2019-12-26 02:53:46趙海龍
      天津科技 2019年12期
      關(guān)鍵詞:份數(shù)線程打印機(jī)

      趙海龍

      (紅天智能科技(天津)有限公司 天津 300300)

      0 引 言

      目前,國內(nèi)很多打印店都遇到過這樣的問題,用戶打印一本宣傳手冊,需要 500份,通常情況下的操作方式就是打開文件,輸入份數(shù),打印。大多數(shù)打印店用的是中速打印機(jī),速度一般不超過 120張/min。我們假設(shè)宣傳手冊是100頁,那么500份文檔用一臺(tái)打印機(jī)要打7h左右,即使是10頁的宣傳手冊,時(shí)間也要接近 1h。通常,打印機(jī)長時(shí)間連續(xù)工作很容易損壞。由于打印任務(wù)的發(fā)送過程屬于單線程,所以任務(wù)發(fā)送過程中整個(gè)軟件界面是不能進(jìn)行其他操作的,手動(dòng)分配發(fā)送打印任務(wù)到不同的打印機(jī)則耗時(shí)費(fèi)力。

      1 Windows打印系統(tǒng)

      1.1 打印假脫機(jī)隊(duì)列(PrinterSpooler)

      打印機(jī)不同于硬盤或顯卡這類硬件,也不同于鍵盤鼠標(biāo)等外部設(shè)備,它們都屬于即時(shí)響應(yīng)的設(shè)備,而操作系統(tǒng)打印一個(gè)文檔需要的時(shí)間不確定,快的幾秒,慢的需要幾分鐘甚至更長時(shí)間,操作系統(tǒng)不可能一直等到打印任務(wù)處理完。因此,操作系統(tǒng)提供了Spooler服務(wù)來對打印機(jī)的任務(wù)進(jìn)行管理。

      1.2 Windows打印任務(wù)流程

      為了實(shí)現(xiàn)我們的目標(biāo),對 Windows打印流程進(jìn)行系統(tǒng)分析是非常必要的。圖1展示了應(yīng)用程序發(fā)起打印請求開始,到假脫機(jī)文件的形成,最后完成打印的完整過程。

      2 基于C#語言和PDFVIEW4NET工具的設(shè)計(jì)開發(fā)及驗(yàn)證

      2.1 C#語言簡介

      C#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.NET Framework和.NET Core上的高級程序設(shè)計(jì)語言,是一種編譯解釋型語言,其原始代碼被編譯成能夠被.NET框架識(shí)別的編碼,并運(yùn)行在.NET平臺(tái)上。所以,C#是專門為.NET平臺(tái)開發(fā)的語言,與.NET平臺(tái)完美結(jié)合。C#是一種安全的、穩(wěn)定的、簡單的、優(yōu)雅的,由C和C++衍生出來的面向?qū)ο蟮木幊陶Z言。

      圖1 Windows打印流程圖Fig.1 Windows printing flow sheet

      2.2 PDFVIEW4NET簡介

      PDFVIEW4NET是由羅馬尼亞的 O2 Solutions公司開發(fā)的一個(gè).NET工具包,用于在.NET應(yīng)用程序中添加 PDF呈現(xiàn)和打印支持。可將標(biāo)準(zhǔn)的文件轉(zhuǎn)換成 PDF,再將 PDF發(fā)送至打印機(jī)。它用于 Windows窗體、WPF和Silverlight的PDF查看器控件,以及用于從任何.NET應(yīng)用程序呈現(xiàn)和打印 PDF文件的.NET庫。PDF查看器控件具有對 PDF文件的注釋、書簽導(dǎo)航、添加和刪除文件附件以及其他功能的支持。該工具包包含自己的 PDF呈現(xiàn)引擎,它不依賴任何其他軟件來呈現(xiàn)和打印PDF文件。

      2.3 軟件架構(gòu)及實(shí)現(xiàn)

      軟件采用C#編程語言,利用PDFVIEW4NET工具包實(shí)現(xiàn),具體流程如圖2所示。

      2.3.1 枚舉打印機(jī)

      首先引用 System.Drawing.Printing命名空間,然后通過 foreach(String printerName in PrinterSettings.InstalledPrinters){}遍歷的形式,其中每一個(gè)printerName都是一臺(tái)已安裝的打印機(jī)。再根據(jù)每臺(tái)打印機(jī)的狀態(tài),枚舉出所有空閑的打印機(jī)。

      2.3.2 打印參數(shù)的設(shè)置

      打印參數(shù)包括紙張類型(如 A3、A4、B5)、打印顏色、單雙面、份數(shù)、打印機(jī)名稱等,信息設(shè)置完成后,存儲(chǔ)到一個(gè)實(shí)體類當(dāng)中,作為線程的參數(shù),分配到每個(gè)任務(wù)上。

      圖2 分流軟件流程圖Fig.2 Flow sheet of shunting software

      2.3.3 打印任務(wù)份數(shù)分配規(guī)則

      打印任務(wù)數(shù)量采取平均分配原則,能夠整除的不需要考慮,對于不能整除的,具體的分配方式是:先計(jì)算份數(shù)除以打印機(jī)臺(tái)數(shù)的商和余數(shù),分配的數(shù)量就是余數(shù)個(gè)(商+1)和(打印機(jī)數(shù)量-余數(shù))個(gè)商,例如,打印份數(shù)為 100份,分配打印機(jī)數(shù)量是 6臺(tái),100÷6=16……4,即每臺(tái)打印機(jī)分配的份數(shù)是 17、17、17、17、16、16;如果分配的打印機(jī)數(shù)量是 7 臺(tái),100÷7=14……2,即每臺(tái)打印機(jī)分配的份數(shù)是 15、15、14、14、14、14、14。

      2.3.4 將任務(wù)發(fā)送到打印機(jī)

      遍歷打印機(jī)列表,創(chuàng)建 PrinterSettings實(shí)例settings,將打印參數(shù)(紙張類型、打印顏色、單雙面、份數(shù)、打印機(jī)名稱)賦值給 settings,利用帶參數(shù)的線程,Thread(ParameterizedThreadStart)初始化 Thread類的新實(shí)例,指定允許對象在線程啟動(dòng)時(shí)傳遞給線程的委托。在每個(gè)線程里面執(zhí)行Print(settings),即可完成分流打印。

      2.4 打印工廠實(shí)測驗(yàn)證

      在天津某大型打印連鎖店打印工廠現(xiàn)場實(shí)測。

      測試條件:單頁文檔,打印 800份,測試結(jié)果如表1所示。

      表1 單頁文檔測試結(jié)果Tab.1 Single-page document test results

      測試條件:10頁文檔,打印 800份,測試結(jié)果如表2所示。

      表2 10頁文檔測試結(jié)果Tab.2 10 pages document test results

      3 結(jié) 論

      在進(jìn)行了系統(tǒng)測試之后,可以明顯看出,打印任務(wù)分流工具的優(yōu)勢在于,打印機(jī)越多,打印效率越高,打印機(jī)損耗相對越小。該工具能夠降低損耗,提高生產(chǎn)效率,實(shí)現(xiàn)了設(shè)計(jì)初衷。

      猜你喜歡
      份數(shù)線程打印機(jī)
      如何利用題組訓(xùn)練提高分?jǐn)?shù)“量”與“率”的區(qū)分度
      對提單及保單出具份數(shù)的思考
      中國外匯(2020年10期)2020-11-25 22:44:49
      “份數(shù)法”的妙用
      淺談linux多線程協(xié)作
      另類3D打印機(jī)
      條條道路通羅馬
      打印機(jī)基板大型注塑模具設(shè)計(jì)
      中國塑料(2016年7期)2016-04-16 05:25:55
      FDM型混色3D打印機(jī)的設(shè)計(jì)
      復(fù)制粘貼打印機(jī)
      Linux線程實(shí)現(xiàn)技術(shù)研究
      广宗县| 盘山县| 上蔡县| 定远县| 报价| 彩票| 来宾市| 宁夏| 图片| 磴口县| 龙海市| 尤溪县| 江口县| 积石山| 潞西市| 阜城县| 南城县| 天门市| 沈丘县| 鸡泽县| 凤山市| 西乌珠穆沁旗| 吉林市| 平山县| 霍城县| 岳阳县| 嘉荫县| 临西县| 崇州市| 呼图壁县| 榆林市| 库尔勒市| 宜宾市| 图们市| 句容市| 吉木萨尔县| 张家口市| 乡宁县| 湄潭县| 尼玛县| 饶河县|