Bartender http方式調用


Bartender ClientPrintService和Integration模式打印

1.Bartender下載安裝

1.1 Bartender下載地址

https://www.bartender.cc/xiazai.html

1.2 Bartender 申請30天免費試用

https://www.bartender.cc/changjian/bartender-aser.html

1.3 Bartender 安裝

  1. 指定高級安裝

    image-20211026095354429

  2. 選擇Bartender Designer和Print Portal進行安裝

    image-20211026095536795

  3. 之后的直接默認安裝,下一步即可。

2.ClientPrintService模式配置和使用

ClientPrintService 模式為服務器-客戶端模式,即:在一台電腦安裝Bartender充當Bartender服務器,在需要進行打印的電腦安裝ClientPrintService服務,將本地打印機共享給Bartender服務器,即可通過調用Bartender服務提供的接口,進行打印。

2.1 開啟客戶端打印模式

  1. 使用非IE瀏覽器,打開地址:http://localhost/Bartender/Browse,出現如下界面

    image-20211026100149778

  2. 點擊管理設置,選擇客戶端打印Tab頁

    1.勾選 啟用客戶端打印 填入名稱,和打印路由器URL。打印路由器的URL中改成安裝Bartender電腦的IP+端口的形式

    2.點擊保存

    image-20211026100701208

2.2 客戶端安裝ClientPrintService服務

  1. 需要進行打印的電腦,訪問http://ip:80/Bartender/Client/ClientPrintWizard

    該IP為安裝Bartender軟件的那台電腦的IP

    image-20211026101336584

  2. 訪問上述地址后,會自動下載SeagullClientPrintServiceInstaller.exe軟件,雙擊打開該軟件,默認安裝即可。

    該過程需要聯網。

  3. SeagullClientPrintServiceInstaller軟件安裝完成后,會自動打開瀏覽器進入客戶端的配置界面,地址為:http://localhost:5952/settings

    image-20211026101907621

  4. 你可以使用http://ip:80/Bartender/Client/ClientPrintWizard頁面的自動配置也可以手動配置

    image-20211026102222038

  5. 配置完成后,會出現如下界面

    image-20211026102316686

  6. 至此,Bartender的服務端和客戶均配置完成。

  7. 若第五步的狀態不是已連接,則查看Bartender安裝電腦上的Bartender服務和客戶端電腦的BarTender Client Print Service 服務

    1.win+r 輸入:services.msc

    2.找到Bartender服務器,確保所有的Bartender服務器均正在運行,若不在運行,手動啟動,然后再次進行客戶端配置界面,即可連接。

    image-20211026102837384

  8. 將本地打印機共享給Bartender 打印服務器

    http://127.0.0.1:5952/Settings頁面,勾選需要調用Bartender服務進行打印的打印機后保存即可。

    image-20211026103305091

  9. 至此,客戶端和打印機共享配置完成。

3.接口調用打印

  1. 打開http://192.168.1.68/Bartender/swagger/index.htmlswagger接口文檔地址

    image-20211026103928020

  2. 獲取打印機接口:http://192.168.1.68/Bartender/api/v1/printers

    該接口可以獲取Bartender服務器可以調用的所有本地打印機和遠程打印機

    本地打印機:是安裝Bartender那台電腦上的打印機

    遠程打印機:是通過客戶端配置,共享給Bartender服務器的打印機

    image-20211026104302566

  3. 根據打印機名稱獲取打印機信息的接口:http://192.168.1.68/Bartender/api/v1/printers/{printName},該接口很簡單,也不實用,不做贅述

  4. 獲取模版庫的接口:http://192.168.1.68/Bartender/api/v1/libraries

    該接口可以獲取Bartender服務器上的模版庫

    Bartender默認模板庫有兩個,一個在IIS目錄下,另一個是Bartender Librarian

    默認使用IIS目錄下的模板庫,即接口請求的name為Templates的模板庫

    image-20211026105418644

  5. 根據模版庫ID可以獲取到該模版庫的信息以及該模版庫中可以使用的Bartender模版http://192.168.1.68/Bartender/api/v1/libraries/{id}

    image-20211026105844042

  6. Templates模版庫的默認位置在:C:\inetpub\wwwroot\BarTender\wwwroot\Templates目錄下

  7. 將需要打印的Bartender 模版放在上述位置上,Bartender即可識別獲取。(注:一般模版修改或新增,Bartender需要隔幾分鍾后才會獲取最新的)

  8. http://192.168.1.68/Bartender/Browse頁面可以瀏覽模版庫中的所有模版

  9. post方式的打印接口:http://192.168.1.68/Bartender/api/v1/print,通過該接口即可調用打印機進行打印

    {
      "libraryID": "string", --模版庫的ID
      "relativePath": "string",--模版的相對路徑,例如:Automotive/AIAG/B-10/BMW.btw
      "absolutePath": "string",--模版的絕對路徑,與相對路徑二者選其一
      "documentPassword": "string",--文檔密碼:沒有的不需要傳,從參數中拿掉即可
      "printRequestID": "string",--打印請求ID,(一般不傳,從參數中拿掉)
      "printer": "string",--打印機名稱(這里的打印機名稱應該為調用printers接口中獲取的打印機名稱)
      "startingPosition": 0,--起始位置(一般不傳,從參數中拿掉)
      "copies": 0,--打印份數
      "serialNumbers": 0,--自增序列
      "namedDataSources": {
        "additionalProp1": "string"--傳參(嵌入的數據的名稱)
      },
      "dataEntryControls": {--不知道干啥的,可以不傳
      }
    }
    

注:若ClientPrintService模式出現打印不出來的情況:

  1. 查看客戶端的打印機是否正常打印
  2. 打印http://localhost:5952/settings設置界面,查看客戶端與Bartender服務器的連接是否正常
  3. 查看安裝Bartender電腦上的Bartender是否正常運行
  4. 查看客戶端ClientPrintService 服務是否正常運行
  5. 若都正常運行,可以嘗試重啟ClientPrintService服務器重試;若還不行可以嘗試重啟Bartender服務器上的所有Bartender服務,若出現服務器無法重啟的情況,請用Bartender安裝包進行修復。

4.Integration Builder 配置(使用BTXML腳本)

4.1 BTXML腳本配置

  1. 打開Integration Builder

    image-20211026112213029

  2. 創建新的集成—>Web服務—>確定 后進入頁面,修改服務名稱和端口

    image-20211026112515774

  3. 輸入數據:選擇BTXML腳本

    ![](https://gitee.com/tian.xu/typora/raw/master/ images/image-20211026112659185.png)

  4. 打印文檔:刪除默認創建的打印文檔,新增一個打印BTXML腳本,可修改該腳本名稱:

    image-20211026113010917

  5. 預覽,啟動該服務

    image-20211026113228392

4.2 使用postman調用本地打印機進行測試

  1. URL:http:// /Integration/MesPrint/Execute,將host改成IP

  2. 參數:

    <?xml version='1.0' encoding='utf-8'?>
    <XMLScript Version='2.0' Name='09232006_103601_Job1' ID='123'>
        <Command Name='Job1'>
            <Print>
                <!-- 模版路勁,可以是Templates的相對路徑,也可以是絕對路勁 -->
                <Format>D:/BartenderIntegration/VCard.btw</Format>
                <PrintSetup>
                     <!-- 自增序列 -->
                    <NumberSerializedLabels>1</NumberSerializedLabels>
                     <!-- 打印份數 -->
                    <IdenticalCopiesOfLabel>1</IdenticalCopiesOfLabel>
                     <!-- 打印機名稱(可以是本地打印機也可以是共享打印機) -->
                    <Printer>PDF</Printer>
                </PrintSetup>
                <!-- 嵌入式數據源的名稱和值 -->
                <NamedSubString Name='cartonId'>
                    <Value>00000011</Value>
                </NamedSubString>
            </Print>
        </Command>
    </XMLScript>
    

    詳細參數可參考Integration Builder 幫助文檔

    image-20211026115027673

  3. postman調用測試:

    image-20211026114400602

4.3 調用共享打印機進行打印

  1. 將需要進行打印的打印機共享出來

    具體方法百度

  2. 在上述參數中,打印機參數改成共享打印機的名稱和地址即可

4.4 若調用本地打印機可以打印,調用遠程打印機報如下錯誤的話:

image-20211026115205731

請使用Bartender的自動化版本創建集成

4.5 測試完成后,即可將該打印服務部署一下即可。

注:若Integration Builder模式出現打印不出來的情況:

  1. 確認共享打印機是否正常打印
  2. 確認已部署的服務是否正常,可嘗試重新部署該服務


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM