jQuery打印插件(適用于針式打印) :Chest-Print

jopen 9年前發布 | 12K 次閱讀 jQuery插件 Chest-Print

使用場景

Chest-Print 適用于針式打印機等需要定位打印的需求,如本人使用場景是打印快遞單.

如何使用

插件主體是 as3 編寫的 swf 文件,擴充部分寫了一個 jQuery 小插件,所以需要引入 jQuery 包,swfobject 包。

  • 創建一個空 DIV 并創建 jQuery 對象:

$("#printAll").printAll();
  • 需要一個 JSON 數組參數,數組中的對象為多 Page 打印,一個對象代表一個Page;Page對象中,存在width,height,frontSize(拼寫錯誤,囧),content 屬性;Page 對象中的 Content 屬性是一個打印元素對象數組,元素對象又有 left,top,name(打印無效屬性,后臺對象轉化過來的屬性),value(打印內容),width 屬性,例子如下,這是打印一頁快遞單:

var pages = [
              {
                  "width": "900",
                  "height": "600",
                  "frontSize": "12",
                  "content": [
                      {
                          "left": "343",
                          "top": "345",
                          "name": "shipName",
                          "value": "收貨人小凳子",
                          "width": "130"
                      },
                      {
                          "left": "126",
                          "top": "373",
                          "name": "shipAddress",
                          "value": "山東省 臨沂市 費縣 世茂大道",
                          "width": "309"
                      },
                      {
                          "left": "142",
                          "top": "308",
                          "name": "shipZip",
                          "value": "150000",
                          "width": "130"
                      },
                      {
                          "left": "219",
                          "top": "434",
                          "name": "shipMobile",
                          "value": "13569696969",
                          "width": "179"
                      },
                      {
                          "left": "358",
                          "top": "164",
                          "name": "deliverUserName",
                          "value": "王二虎",
                          "width": "134"
                      },
                      {
                          "left": "127",
                          "top": "192",
                          "name": "deliverAddress",
                          "value": "遼寧省 沈陽市市轄區 淮海路",
                          "width": "253"
                      },
                      {
                          "left": "136",
                          "top": "131",
                          "name": "deliverZip",
                          "value": "1456253",
                          "width": "161"
                      },
                      {
                          "left": "210",
                          "top": "258",
                          "name": "deliverMobile",
                          "value": "15369554687",
                          "width": "153"
                      }
                  ]
              }
          ]
  • 調用打印方法,彈出打印設置,進行打印

$("#printAll").printAll.print(pages);

注意事項

  1. 首先要注意flash安全沙箱問題,請在測試環境下測試(ip或域名),文件結構會報錯.

  2. 同樣是flex問題,需要彈出打印設置系統設置,并不能直接打印(安全相關).

  3. chrome瀏覽器flash插件有2個,需要禁用自帶flash插件,否則打印不出內容.

項目主頁:http://www.baiduhome.net/lib/view/home/1439012955754

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!