소스 검색

测试打印

chenrui 3 년 전
부모
커밋
a7c5311f55
1개의 변경된 파일34개의 추가작업 그리고 12개의 파일을 삭제
  1. 34 12
      src/libs/JGPrint.js

+ 34 - 12
src/libs/JGPrint.js

@@ -33,7 +33,7 @@ export const JGPrint = function (data, type, printerType) {
     // LODOP.SET_PRINT_PAGESIZE(3, '2140', '60', '') // 这里3表示纵向打印且纸高“按内容的高度”;2140表示纸宽214.0mm;45表示页底空白4.5mm
     // LODOP.ADD_PRINT_HTM("0","0","RightMargin:0.5cm","BottomMargin:0.5cm",m)
     // LODOP.ADD_PRINT_TABLE(0, 0, '100%', '100%', m)
-    LODOP.ADD_PRINT_PDF(0, 0, '100%', '100%', url)
+    LODOP.ADD_PRINT_PDF(0, 0, '100%', '100%', demoDownloadPDF(url))
     LODOP.SET_PRINT_STYLEA(0, 'PDFScalMode', 1)
     LODOP.SET_PRINT_PAGESIZE(3, 0, 0, '')
     if (type == 'preview') {
@@ -68,17 +68,18 @@ export const demoGetBASE64 = function (dataArray) {
 }
 // 下载pdf
 export const demoDownloadPDF = function (url) {
-  // if (!(/^https?:/i.test(url))) return;
-  // if (window.XMLHttpRequest) var xhr = new XMLHttpRequest(); else var xhr = new ActiveXObject("MSXML2.XMLHTTP");
-  // xhr.open('GET',url,false); //同步方式
-  // if (xhr.overrideMimeType)
-  // try{
-  //       xhr.responseType = 'arraybuffer';
-  //       var arrybuffer=true;
-  // }catch(err){
-  //       xhr.overrideMimeType('text/plain; charset=x-user-defined');
-  // }
-  // xhr.send(null);
+  if (!(/^https?:/i.test(url))) return
+  if (window.XMLHttpRequest) var xhr = new XMLHttpRequest(); else var xhr = new ActiveXObject('MSXML2.XMLHTTP')
+  xhr.open('GET', url, false) // 同步方式
+  if (xhr.overrideMimeType) {
+    try {
+      xhr.responseType = 'arraybuffer'
+      var arrybuffer = true
+    } catch (err) {
+      xhr.overrideMimeType('text/plain; charset=x-user-defined')
+    }
+  }
+  xhr.send(null)
   var data = xhr.response || xhr.responseBody
   if (typeof Uint8Array !== 'undefined') {
     if (arrybuffer) var dataArray = new Uint8Array(data); else {
@@ -103,6 +104,27 @@ export const downloadExcel = function (data, fileName) {
   link.click()
 }
 
+// 文件流转url
+export const getObjectURL = function (file) {
+  let url = null
+  if (window.createObjectURL != undefined) { // basic
+    url = window.createObjectURL(file)
+  } else if (window.webkitURL != undefined) { // webkit
+    try {
+      url = window.webkitURL.createObjectURL(file)
+    } catch (error) {
+
+    }
+  } else if (window.URL != undefined) { // mozilla(firefox)
+    try {
+      url = window.URL.createObjectURL(file)
+    } catch (error) {
+
+    }
+  }
+  return url
+}
+
 /*
   *printerType: 打印机类型
   *type: 打印预览,打印,导出