diff --git a/package.json b/package.json index e0f34b5..fa7f48e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "JUSTAR", - "version": "2.1.5", + "version": "2.1.6", "description": "钜星科技便民问诊系统", "main": "src/index.js", "scripts": { diff --git a/src/js/main.js b/src/js/main.js index e1660ce..1d2a05f 100644 --- a/src/js/main.js +++ b/src/js/main.js @@ -159,7 +159,7 @@ let main ={ } }, { - label:'版本号:2.1.5', + label:'版本号:2.1.6', icon: respath + path.sep+ "static"+ path.sep+"images"+ path.sep+"paste.png", },] }); diff --git a/src/js/module/pdf-to-printer/dist/SumatraPDF-settings.txt b/src/js/module/pdf-to-printer/dist/SumatraPDF-settings.txt index 7de2cff..ec4ef24 100644 --- a/src/js/module/pdf-to-printer/dist/SumatraPDF-settings.txt +++ b/src/js/module/pdf-to-printer/dist/SumatraPDF-settings.txt @@ -1,4 +1,4 @@ -# For documentation, see https://www.sumatrapdfreader.org/settings/settings3-3-1.html +# For documentation, see https://www.sumatrapdfreader.org/settings/settings3.2.html MainWindowBackground = #80fff200 EscToExit = false @@ -13,7 +13,6 @@ FixedPageUI [ SelectionColor = #f5fc0c WindowMargin = 2 4 2 4 PageSpacing = 4 4 - HideScrollbars = false ] EbookUI [ FontName = Georgia @@ -47,9 +46,6 @@ ForwardSearch [ HighlightColor = #6581ff HighlightPermanent = false ] -Annotations [ - HighlightColor = #ffff00 -] CustomScreenDPI = 0 RememberStatePerDocument = true @@ -67,7 +63,6 @@ WindowPos = 0 0 0 0 ShowToc = true SidebarDx = 0 TocDy = 0 -TreeFontSize = 0 ShowStartPage = true UseTabs = true @@ -76,6 +71,6 @@ FileStates [ SessionData [ ] TimeOfLastUpdateCheck = 0 0 -OpenCountWeek = 604 +OpenCountWeek = 523 # Settings after this line have not been recognized by the current version diff --git a/src/js/module/pdf-to-printer/dist/SumatraPDF.exe b/src/js/module/pdf-to-printer/dist/SumatraPDF.exe index a5a4a79..a3dff05 100644 Binary files a/src/js/module/pdf-to-printer/dist/SumatraPDF.exe and b/src/js/module/pdf-to-printer/dist/SumatraPDF.exe differ diff --git a/src/js/module/pdf-to-printer/dist/bundle.js b/src/js/module/pdf-to-printer/dist/bundle.js index f7bc57d..a8cb685 100644 --- a/src/js/module/pdf-to-printer/dist/bundle.js +++ b/src/js/module/pdf-to-printer/dist/bundle.js @@ -1,2 +1 @@ -!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var i in n)("object"==typeof exports?exports:e)[i]=n[i]}}(global,(()=>(()=>{"use strict";var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var i in n)e.o(n,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:n[i]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{getDefaultPrinter:()=>b,getPrinters:()=>x,print:()=>w});const n=require("path");var i=e.n(n);const r=require("fs");var o=e.n(r);const a=require("child_process"),s=require("util"),c=e.n(s)().promisify(a.execFile),u="electron"in process.versions&&process.mainModule&&process.mainModule.filename.includes("app.asar"),l=require("os");var p=e.n(l);function d(){if("win32"!==p().platform())throw"Operating System not supported"}const f=["odd","even"],h=["portrait","landscape"],v=["noscale","shrink","fit"],m=["duplex","duplexshort","duplexlong","simplex"],y=["A2","A3","A4","A5","A6","letter","legal","tabloid","statement"];function w(e,t={}){return n=this,r=void 0,s=function*(){if(d(),!e)throw"No PDF specified";if(!o().existsSync(e))throw"No such file";let n=t.sumatraPdfPath||i().join(__dirname,"SumatraPDF.exe");var r;t.sumatraPdfPath||(r=n,n=u?r.replace("app.asar","app.asar.unpacked"):r);const a=[],{printer:s,silent:l,printDialog:p}=t;p?a.push("-print-dialog"):(s?a.push("-print-to",s):a.push("-print-to-default"),!1!==l&&a.push("-silent"));const w=function(e){const{pages:t,subset:n,orientation:i,scale:r,monochrome:o,side:a,bin:s,paperSize:c,copies:u}=e,l=[];if(t&&l.push(t),n){if(!f.includes(n))throw`Invalid subset provided. Valid names: ${f.join(", ")}`;l.push(n)}if(i){if(!h.includes(i))throw`Invalid orientation provided. Valid names: ${h.join(", ")}`;l.push(i)}if(r){if(!v.includes(r))throw`Invalid scale provided. Valid names: ${v.join(", ")}`;l.push(r)}if(o?l.push("monochrome"):!1===o&&l.push("color"),a){if(!m.includes(a))throw`Invalid side provided. Valid names: ${m.join(", ")}`;l.push(a)}if(s&&l.push(`bin=${s}`),c){if(!y.includes(c))throw`Invalid paper size provided. Valid names: ${y.join(", ")}`;l.push(`paper=${c}`)}return u&&l.push(`${u}x`),l}(t);w.length&&a.push("-print-settings",w.join(",")),a.push(e);try{yield c(n,a)}catch(e){throw e}},new((a=void 0)||(a=Promise))((function(e,t){function i(e){try{c(s.next(e))}catch(e){t(e)}}function o(e){try{c(s.throw(e))}catch(e){t(e)}}function c(t){var n;t.done?e(t.value):(n=t.value,n instanceof a?n:new a((function(e){e(n)}))).then(i,o)}c((s=s.apply(n,r||[])).next())}));var n,r,a,s}function P(e){const t={deviceId:"",name:""};return{isValid:e.split(/\r?\n/).some((e=>{const[n,i]=e.split(":").map((e=>e.trim())),r=n.toLowerCase();return"deviceid"===r&&(t.deviceId=i),"name"===r&&(t.name=i),!(!t.deviceId||!t.name)})),printerData:t}}const x=function(){return e=this,t=void 0,i=function*(){try{d();const{stdout:e}=yield c("Powershell.exe",["chcp 65001;","Get-CimInstance Win32_Printer -Property DeviceID,Name"]);return function(e){const t=[];return e.split(/(\r?\n){2,}/).map((e=>e.trim())).filter((e=>!!e)).forEach((e=>{const{isValid:n,printerData:i}=P(e);n&&t.push(i)})),t}(e)}catch(e){throw e}},new((n=void 0)||(n=Promise))((function(r,o){function a(e){try{c(i.next(e))}catch(e){o(e)}}function s(e){try{c(i.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}));var e,t,n,i};const b=function(){return e=this,t=void 0,i=function*(){try{d();const{stdout:e}=yield c("Powershell.exe",["chcp 65001;","Get-CimInstance Win32_Printer -Property DeviceID,Name -Filter Default=true"]),t=e.trim();if(!e)return null;const{isValid:n,printerData:i}=P(t);return n?i:null}catch(e){throw e}},new((n=void 0)||(n=Promise))((function(r,o){function a(e){try{c(i.next(e))}catch(e){o(e)}}function s(e){try{c(i.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}));var e,t,n,i};return t})())); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QU1LLGNBUXpCLE1BTG1CLGFBQWZELElBQTJCWCxFQUFZQyxTQUFXNUMsR0FHbkMsU0FBZnNELElBQXVCWCxFQUFZRSxLQUFPN0MsTUFFcEMyQyxFQUFZQyxXQUFZRCxFQUFZRSxLQUFLLElBS25ERixjQUVKLENDT0EsUUEvQkEsVyxxQ0FtQkUsSUFDRSxJQUNBLE1BQU0sT0FBRWEsU0FBaUIsRUFBYyxpQkFBa0IsQ0FDdkQsY0FDQSwwREFFRixPQXhCRixTQUF1QkEsR0FDckIsTUFBTUMsRUFBc0IsR0FjNUIsT0FaQUQsRUFDR1QsTUFBTSxlQUNOSSxLQUFLM0IsR0FBWUEsRUFBUTZCLFNBQ3pCSyxRQUFRbEMsS0FBY0EsSUFDdEJtQyxTQUFTbkMsSUFDUixNQUFNLFFBQUVzQixFQUFPLFlBQUVILEdBQWdCRCxFQUFlbEIsR0FFM0NzQixHQUVMVyxFQUFTOUIsS0FBS2dCLEVBQVksSUFHdkJjLENBQ1QsQ0FRU0csQ0FBY0osRSxDQUNyQixNQUFPZixHQUNQLE1BQU1BLEMsQ0FFVixFLGdTQ0FBLFFBekJBLFcscUNBQ0UsSUFDRSxJQUVBLE1BQU0sT0FBRWUsU0FBaUIsRUFBYyxpQkFBa0IsQ0FDdkQsY0FDQSwrRUFHSWhDLEVBQVVnQyxFQUFPSCxPQUd2QixJQUFLRyxFQUFRLE9BQU8sS0FFcEIsTUFBTSxRQUFFVixFQUFPLFlBQUVILEdBQWdCRCxFQUFlbEIsR0FHaEQsT0FBS3NCLEVBRUVILEVBRmMsSSxDQUdyQixNQUFPRixHQUNQLE1BQU1BLEMsQ0FFVixFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcGRmLXRvLXByaW50ZXIvd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovL3BkZi10by1wcmludGVyL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL3BkZi10by1wcmludGVyL3dlYnBhY2svcnVudGltZS9jb21wYXQgZ2V0IGRlZmF1bHQgZXhwb3J0Iiwid2VicGFjazovL3BkZi10by1wcmludGVyL3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9wZGYtdG8tcHJpbnRlci93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL3BkZi10by1wcmludGVyL3dlYnBhY2svcnVudGltZS9tYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vcGRmLXRvLXByaW50ZXIvZXh0ZXJuYWwgbm9kZS1jb21tb25qcyBcInBhdGhcIiIsIndlYnBhY2s6Ly9wZGYtdG8tcHJpbnRlci9leHRlcm5hbCBub2RlLWNvbW1vbmpzIFwiZnNcIiIsIndlYnBhY2s6Ly9wZGYtdG8tcHJpbnRlci9leHRlcm5hbCBub2RlLWNvbW1vbmpzIFwiY2hpbGRfcHJvY2Vzc1wiIiwid2VicGFjazovL3BkZi10by1wcmludGVyL2V4dGVybmFsIG5vZGUtY29tbW9uanMgXCJ1dGlsXCIiLCJ3ZWJwYWNrOi8vcGRmLXRvLXByaW50ZXIvLi9zcmMvdXRpbHMvZXhlYy1maWxlLWFzeW5jLnRzIiwid2VicGFjazovL3BkZi10by1wcmludGVyLy4vc3JjL3V0aWxzL2VsZWN0cm9uLXV0aWwudHMiLCJ3ZWJwYWNrOi8vcGRmLXRvLXByaW50ZXIvZXh0ZXJuYWwgbm9kZS1jb21tb25qcyBcIm9zXCIiLCJ3ZWJwYWNrOi8vcGRmLXRvLXByaW50ZXIvLi9zcmMvdXRpbHMvdGhyb3ctaWYtdW5zdXBwb3J0ZWQtb3MudHMiLCJ3ZWJwYWNrOi8vcGRmLXRvLXByaW50ZXIvLi9zcmMvcHJpbnQvcHJpbnQudHMiLCJ3ZWJwYWNrOi8vcGRmLXRvLXByaW50ZXIvLi9zcmMvdXRpbHMvd2luZG93cy1wcmludGVyLXZhbGlkLnRzIiwid2VicGFjazovL3BkZi10by1wcmludGVyLy4vc3JjL2dldC1wcmludGVycy9nZXQtcHJpbnRlcnMudHMiLCJ3ZWJwYWNrOi8vcGRmLXRvLXByaW50ZXIvLi9zcmMvZ2V0LWRlZmF1bHQtcHJpbnRlci9nZXQtZGVmYXVsdC1wcmludGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtdLCBmYWN0b3J5KTtcblx0ZWxzZSB7XG5cdFx0dmFyIGEgPSBmYWN0b3J5KCk7XG5cdFx0Zm9yKHZhciBpIGluIGEpICh0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgPyBleHBvcnRzIDogcm9vdClbaV0gPSBhW2ldO1xuXHR9XG59KShnbG9iYWwsICgpID0+IHtcbnJldHVybiAiLCIvLyBUaGUgcmVxdWlyZSBzY29wZVxudmFyIF9fd2VicGFja19yZXF1aXJlX18gPSB7fTtcblxuIiwiLy8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbl9fd2VicGFja19yZXF1aXJlX18ubiA9IChtb2R1bGUpID0+IHtcblx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG5cdFx0KCkgPT4gKG1vZHVsZVsnZGVmYXVsdCddKSA6XG5cdFx0KCkgPT4gKG1vZHVsZSk7XG5cdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsIHsgYTogZ2V0dGVyIH0pO1xuXHRyZXR1cm4gZ2V0dGVyO1xufTsiLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSAob2JqLCBwcm9wKSA9PiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCkpIiwiLy8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5yID0gKGV4cG9ydHMpID0+IHtcblx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG5cdH1cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbn07IiwiY29uc3QgX19XRUJQQUNLX05BTUVTUEFDRV9PQkpFQ1RfXyA9IHJlcXVpcmUoXCJwYXRoXCIpOyIsImNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSByZXF1aXJlKFwiZnNcIik7IiwiY29uc3QgX19XRUJQQUNLX05BTUVTUEFDRV9PQkpFQ1RfXyA9IHJlcXVpcmUoXCJjaGlsZF9wcm9jZXNzXCIpOyIsImNvbnN0IF9fV0VCUEFDS19OQU1FU1BBQ0VfT0JKRUNUX18gPSByZXF1aXJlKFwidXRpbFwiKTsiLCJpbXBvcnQge2V4ZWNGaWxlfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IHV0aWwgZnJvbSBcInV0aWxcIjtcbmNvbnN0IGV4ZWNGaWxlQXN5bmMgPSB1dGlsLnByb21pc2lmeShleGVjRmlsZSk7XG5cbmV4cG9ydCBkZWZhdWx0IGV4ZWNGaWxlQXN5bmM7XG4iLCIvLyBUYWtlbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvZWxlY3Ryb24tdXRpbC9ibG9iL21hc3Rlci9ub2RlLmpzXG5cbmNvbnN0IGlzRWxlY3Ryb24gPSBcImVsZWN0cm9uXCIgaW4gcHJvY2Vzcy52ZXJzaW9ucztcblxuY29uc3QgaXNVc2luZ0FzYXIgPVxuICBpc0VsZWN0cm9uICYmXG4gIHByb2Nlc3MubWFpbk1vZHVsZSAmJlxuICBwcm9jZXNzLm1haW5Nb2R1bGUuZmlsZW5hbWUuaW5jbHVkZXMoXCJhcHAuYXNhclwiKTtcblxuZnVuY3Rpb24gZml4UGF0aEZvckFzYXJVbnBhY2socGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGlzVXNpbmdBc2FyID8gcGF0aC5yZXBsYWNlKFwiYXBwLmFzYXJcIiwgXCJhcHAuYXNhci51bnBhY2tlZFwiKSA6IHBhdGg7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZpeFBhdGhGb3JBc2FyVW5wYWNrO1xuIiwiY29uc3QgX19XRUJQQUNLX05BTUVTUEFDRV9PQkpFQ1RfXyA9IHJlcXVpcmUoXCJvc1wiKTsiLCJpbXBvcnQgb3MgZnJvbSBcIm9zXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHRocm93SWZVbnN1cHBvcnRlZE9zKCkge1xuICBpZiAob3MucGxhdGZvcm0oKSAhPT0gXCJ3aW4zMlwiKSB7XG4gICAgdGhyb3cgXCJPcGVyYXRpbmcgU3lzdGVtIG5vdCBzdXBwb3J0ZWRcIjtcbiAgfVxufVxuIiwiaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCBleGVjQXN5bmMgZnJvbSBcIi4uL3V0aWxzL2V4ZWMtZmlsZS1hc3luY1wiO1xuaW1wb3J0IGZpeFBhdGhGb3JBc2FyVW5wYWNrIGZyb20gXCIuLi91dGlscy9lbGVjdHJvbi11dGlsXCI7XG5pbXBvcnQgdGhyb3dJZlVuc3VwcG9ydGVkT3BlcmF0aW5nU3lzdGVtIGZyb20gXCIuLi91dGlscy90aHJvdy1pZi11bnN1cHBvcnRlZC1vc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByaW50T3B0aW9ucyB7XG4gIHByaW50ZXI/OiBzdHJpbmc7XG4gIHBhZ2VzPzogc3RyaW5nO1xuICBzdWJzZXQ/OiBzdHJpbmc7XG4gIG9yaWVudGF0aW9uPzogc3RyaW5nO1xuICBzY2FsZT86IHN0cmluZztcbiAgbW9ub2Nocm9tZT86IGJvb2xlYW47XG4gIHNpZGU/OiBzdHJpbmc7XG4gIGJpbj86IHN0cmluZztcbiAgcGFwZXJTaXplPzogc3RyaW5nO1xuICBzaWxlbnQ/OiBib29sZWFuO1xuICBwcmludERpYWxvZz86IGJvb2xlYW47XG4gIHN1bWF0cmFQZGZQYXRoPzogc3RyaW5nO1xuICBjb3BpZXM/OiBudW1iZXI7XG59XG5cbmNvbnN0IHZhbGlkU3Vic2V0cyA9IFtcIm9kZFwiLCBcImV2ZW5cIl07XG5jb25zdCB2YWxpZE9yaWVudGF0aW9ucyA9IFtcInBvcnRyYWl0XCIsIFwibGFuZHNjYXBlXCJdO1xuY29uc3QgdmFsaWRTY2FsZXMgPSBbXCJub3NjYWxlXCIsIFwic2hyaW5rXCIsIFwiZml0XCJdO1xuY29uc3QgdmFsaWRTaWRlcyA9IFtcImR1cGxleFwiLCBcImR1cGxleHNob3J0XCIsIFwiZHVwbGV4bG9uZ1wiLCBcInNpbXBsZXhcIl07XG5jb25zdCB2YWxpZFBhcGVyU2l6ZXMgPSBbXG4gIFwiQTJcIixcbiAgXCJBM1wiLFxuICBcIkE0XCIsXG4gIFwiQTVcIixcbiAgXCJBNlwiLFxuICBcImxldHRlclwiLFxuICBcImxlZ2FsXCIsXG4gIFwidGFibG9pZFwiLFxuICBcInN0YXRlbWVudFwiLFxuXTtcblxuZXhwb3J0IGRlZmF1bHQgYXN5bmMgZnVuY3Rpb24gcHJpbnQoXG4gIHBkZjogc3RyaW5nLFxuICBvcHRpb25zOiBQcmludE9wdGlvbnMgPSB7fVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIHRocm93SWZVbnN1cHBvcnRlZE9wZXJhdGluZ1N5c3RlbSgpO1xuICBpZiAoIXBkZikgdGhyb3cgXCJObyBQREYgc3BlY2lmaWVkXCI7XG4gIGlmICghZnMuZXhpc3RzU3luYyhwZGYpKSB0aHJvdyBcIk5vIHN1Y2ggZmlsZVwiO1xuXG4gIGxldCBzdW1hdHJhUGRmID1cbiAgICBvcHRpb25zLnN1bWF0cmFQZGZQYXRoIHx8IHBhdGguam9pbihfX2Rpcm5hbWUsIFwiU3VtYXRyYVBERi5leGVcIik7XG4gIGlmICghb3B0aW9ucy5zdW1hdHJhUGRmUGF0aCkgc3VtYXRyYVBkZiA9IGZpeFBhdGhGb3JBc2FyVW5wYWNrKHN1bWF0cmFQZGYpO1xuXG4gIGNvbnN0IGFyZ3M6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3QgeyBwcmludGVyLCBzaWxlbnQsIHByaW50RGlhbG9nIH0gPSBvcHRpb25zO1xuXG4gIGlmIChwcmludERpYWxvZykge1xuICAgIGFyZ3MucHVzaChcIi1wcmludC1kaWFsb2dcIik7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByaW50ZXIpIHtcbiAgICAgIGFyZ3MucHVzaChcIi1wcmludC10b1wiLCBwcmludGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXJncy5wdXNoKFwiLXByaW50LXRvLWRlZmF1bHRcIik7XG4gICAgfVxuICAgIGlmIChzaWxlbnQgIT09IGZhbHNlKSB7XG4gICAgICBhcmdzLnB1c2goXCItc2lsZW50XCIpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHByaW50U2V0dGluZ3MgPSBnZXRQcmludFNldHRpbmdzKG9wdGlvbnMpO1xuXG4gIGlmIChwcmludFNldHRpbmdzLmxlbmd0aCkge1xuICAgIGFyZ3MucHVzaChcIi1wcmludC1zZXR0aW5nc1wiLCBwcmludFNldHRpbmdzLmpvaW4oXCIsXCIpKTtcbiAgfVxuXG4gIGFyZ3MucHVzaChwZGYpO1xuXG4gIHRyeSB7XG4gICAgYXdhaXQgZXhlY0FzeW5jKHN1bWF0cmFQZGYsIGFyZ3MpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHRocm93IGVycm9yO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFByaW50U2V0dGluZ3Mob3B0aW9uczogUHJpbnRPcHRpb25zKTogc3RyaW5nW10ge1xuICBjb25zdCB7XG4gICAgcGFnZXMsXG4gICAgc3Vic2V0LFxuICAgIG9yaWVudGF0aW9uLFxuICAgIHNjYWxlLFxuICAgIG1vbm9jaHJvbWUsXG4gICAgc2lkZSxcbiAgICBiaW4sXG4gICAgcGFwZXJTaXplLFxuICAgIGNvcGllcyxcbiAgfSA9IG9wdGlvbnM7XG5cbiAgY29uc3QgcHJpbnRTZXR0aW5ncyA9IFtdO1xuXG4gIGlmIChwYWdlcykge1xuICAgIHByaW50U2V0dGluZ3MucHVzaChwYWdlcyk7XG4gIH1cblxuICBpZiAoc3Vic2V0KSB7XG4gICAgaWYgKHZhbGlkU3Vic2V0cy5pbmNsdWRlcyhzdWJzZXQpKSB7XG4gICAgICBwcmludFNldHRpbmdzLnB1c2goc3Vic2V0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgYEludmFsaWQgc3Vic2V0IHByb3ZpZGVkLiBWYWxpZCBuYW1lczogJHt2YWxpZFN1YnNldHMuam9pbihcIiwgXCIpfWA7XG4gICAgfVxuICB9XG5cbiAgaWYgKG9yaWVudGF0aW9uKSB7XG4gICAgaWYgKHZhbGlkT3JpZW50YXRpb25zLmluY2x1ZGVzKG9yaWVudGF0aW9uKSkge1xuICAgICAgcHJpbnRTZXR0aW5ncy5wdXNoKG9yaWVudGF0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgYEludmFsaWQgb3JpZW50YXRpb24gcHJvdmlkZWQuIFZhbGlkIG5hbWVzOiAke3ZhbGlkT3JpZW50YXRpb25zLmpvaW4oXG4gICAgICAgIFwiLCBcIlxuICAgICAgKX1gO1xuICAgIH1cbiAgfVxuXG4gIGlmIChzY2FsZSkge1xuICAgIGlmICh2YWxpZFNjYWxlcy5pbmNsdWRlcyhzY2FsZSkpIHtcbiAgICAgIHByaW50U2V0dGluZ3MucHVzaChzY2FsZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IGBJbnZhbGlkIHNjYWxlIHByb3ZpZGVkLiBWYWxpZCBuYW1lczogJHt2YWxpZFNjYWxlcy5qb2luKFwiLCBcIil9YDtcbiAgICB9XG4gIH1cblxuICBpZiAobW9ub2Nocm9tZSkge1xuICAgIHByaW50U2V0dGluZ3MucHVzaChcIm1vbm9jaHJvbWVcIik7XG4gIH0gZWxzZSBpZiAobW9ub2Nocm9tZSA9PT0gZmFsc2UpIHtcbiAgICBwcmludFNldHRpbmdzLnB1c2goXCJjb2xvclwiKTtcbiAgfVxuXG4gIGlmIChzaWRlKSB7XG4gICAgaWYgKHZhbGlkU2lkZXMuaW5jbHVkZXMoc2lkZSkpIHtcbiAgICAgIHByaW50U2V0dGluZ3MucHVzaChzaWRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgYEludmFsaWQgc2lkZSBwcm92aWRlZC4gVmFsaWQgbmFtZXM6ICR7dmFsaWRTaWRlcy5qb2luKFwiLCBcIil9YDtcbiAgICB9XG4gIH1cblxuICBpZiAoYmluKSB7XG4gICAgcHJpbnRTZXR0aW5ncy5wdXNoKGBiaW49JHtiaW59YCk7XG4gIH1cblxuICBpZiAocGFwZXJTaXplKSB7XG4gICAgaWYgKHZhbGlkUGFwZXJTaXplcy5pbmNsdWRlcyhwYXBlclNpemUpKSB7XG4gICAgICBwcmludFNldHRpbmdzLnB1c2goYHBhcGVyPSR7cGFwZXJTaXplfWApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBgSW52YWxpZCBwYXBlciBzaXplIHByb3ZpZGVkLiBWYWxpZCBuYW1lczogJHt2YWxpZFBhcGVyU2l6ZXMuam9pbihcbiAgICAgICAgXCIsIFwiXG4gICAgICApfWA7XG4gICAgfVxuICB9XG5cbiAgaWYgKGNvcGllcykge1xuICAgIHByaW50U2V0dGluZ3MucHVzaChgJHtjb3BpZXN9eGApO1xuICB9XG5cbiAgcmV0dXJuIHByaW50U2V0dGluZ3M7XG59XG4iLCJpbXBvcnQgeyBQcmludGVyIH0gZnJvbSBcIi4uL2dldC1kZWZhdWx0LXByaW50ZXIvZ2V0LWRlZmF1bHQtcHJpbnRlclwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpc1ZhbGlkUHJpbnRlcihwcmludGVyOiBzdHJpbmcpOiB7XG4gIGlzVmFsaWQ6IGJvb2xlYW47XG4gIHByaW50ZXJEYXRhOiBQcmludGVyO1xufSB7XG4gIGNvbnN0IHByaW50ZXJEYXRhOiBQcmludGVyID0ge1xuICAgIGRldmljZUlkOiBcIlwiLFxuICAgIG5hbWU6IFwiXCIsXG4gIH07XG5cbiAgY29uc3QgaXNWYWxpZCA9IHByaW50ZXIuc3BsaXQoL1xccj9cXG4vKS5zb21lKChsaW5lKSA9PiB7XG4gICAgY29uc3QgW2xhYmVsLCB2YWx1ZV0gPSBsaW5lLnNwbGl0KFwiOlwiKS5tYXAoKGVsKSA9PiBlbC50cmltKCkpO1xuXG4gICAgY29uc3QgbG93ZXJMYWJlbCA9IGxhYmVsLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaWYgKGxvd2VyTGFiZWwgPT09IFwiZGV2aWNlaWRcIikgcHJpbnRlckRhdGEuZGV2aWNlSWQgPSB2YWx1ZTtcblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAobG93ZXJMYWJlbCA9PT0gXCJuYW1lXCIpIHByaW50ZXJEYXRhLm5hbWUgPSB2YWx1ZTtcblxuICAgIHJldHVybiAhIShwcmludGVyRGF0YS5kZXZpY2VJZCAmJiBwcmludGVyRGF0YS5uYW1lKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBpc1ZhbGlkLFxuICAgIHByaW50ZXJEYXRhLFxuICB9O1xufVxuIiwiaW1wb3J0IGV4ZWNGaWxlQXN5bmMgZnJvbSBcIi4uL3V0aWxzL2V4ZWMtZmlsZS1hc3luY1wiO1xuaW1wb3J0IGlzVmFsaWRQcmludGVyIGZyb20gXCIuLi91dGlscy93aW5kb3dzLXByaW50ZXItdmFsaWRcIjtcbmltcG9ydCB0aHJvd0lmVW5zdXBwb3J0ZWRPcGVyYXRpbmdTeXN0ZW0gZnJvbSBcIi4uL3V0aWxzL3Rocm93LWlmLXVuc3VwcG9ydGVkLW9zXCI7XG5pbXBvcnQgeyBQcmludGVyIH0gZnJvbSBcIi4uL2dldC1kZWZhdWx0LXByaW50ZXIvZ2V0LWRlZmF1bHQtcHJpbnRlclwiO1xuXG5hc3luYyBmdW5jdGlvbiBnZXRQcmludGVycygpOiBQcm9taXNlPFByaW50ZXJbXT4ge1xuICBmdW5jdGlvbiBzdGRvdXRIYW5kbGVyKHN0ZG91dDogc3RyaW5nKSB7XG4gICAgY29uc3QgcHJpbnRlcnM6IFByaW50ZXJbXSA9IFtdO1xuXG4gICAgc3Rkb3V0XG4gICAgICAuc3BsaXQoLyhcXHI/XFxuKXsyLH0vKVxuICAgICAgLm1hcCgocHJpbnRlcikgPT4gcHJpbnRlci50cmltKCkpXG4gICAgICAuZmlsdGVyKChwcmludGVyKSA9PiAhIXByaW50ZXIpXG4gICAgICAuZm9yRWFjaCgocHJpbnRlcikgPT4ge1xuICAgICAgICBjb25zdCB7IGlzVmFsaWQsIHByaW50ZXJEYXRhIH0gPSBpc1ZhbGlkUHJpbnRlcihwcmludGVyKTtcblxuICAgICAgICBpZiAoIWlzVmFsaWQpIHJldHVybjtcblxuICAgICAgICBwcmludGVycy5wdXNoKHByaW50ZXJEYXRhKTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHByaW50ZXJzO1xuICB9XG5cbiAgdHJ5IHtcbiAgICB0aHJvd0lmVW5zdXBwb3J0ZWRPcGVyYXRpbmdTeXN0ZW0oKTtcbiAgICBjb25zdCB7IHN0ZG91dCB9ID0gYXdhaXQgZXhlY0ZpbGVBc3luYyhcIlBvd2Vyc2hlbGwuZXhlXCIsIFtcbiAgICAgIFwiY2hjcCA2NTAwMTtcIixcbiAgICAgIFwiR2V0LUNpbUluc3RhbmNlIFdpbjMyX1ByaW50ZXIgLVByb3BlcnR5IERldmljZUlELE5hbWVcIixcbiAgICBdKTtcbiAgICByZXR1cm4gc3Rkb3V0SGFuZGxlcihzdGRvdXQpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHRocm93IGVycm9yO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGdldFByaW50ZXJzO1xuIiwiaW1wb3J0IGV4ZWNGaWxlQXN5bmMgZnJvbSBcIi4uL3V0aWxzL2V4ZWMtZmlsZS1hc3luY1wiO1xuaW1wb3J0IHRocm93SWZVbnN1cHBvcnRlZE9wZXJhdGluZ1N5c3RlbSBmcm9tIFwiLi4vdXRpbHMvdGhyb3ctaWYtdW5zdXBwb3J0ZWQtb3NcIjtcbmltcG9ydCBpc1ZhbGlkUHJpbnRlciBmcm9tIFwiLi4vdXRpbHMvd2luZG93cy1wcmludGVyLXZhbGlkXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJpbnRlciB7XG4gIGRldmljZUlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0RGVmYXVsdFByaW50ZXIoKTogUHJvbWlzZTxQcmludGVyIHwgbnVsbD4ge1xuICB0cnkge1xuICAgIHRocm93SWZVbnN1cHBvcnRlZE9wZXJhdGluZ1N5c3RlbSgpO1xuXG4gICAgY29uc3QgeyBzdGRvdXQgfSA9IGF3YWl0IGV4ZWNGaWxlQXN5bmMoXCJQb3dlcnNoZWxsLmV4ZVwiLCBbXG4gICAgICBcImNoY3AgNjUwMDE7XCIsXG4gICAgICBcIkdldC1DaW1JbnN0YW5jZSBXaW4zMl9QcmludGVyIC1Qcm9wZXJ0eSBEZXZpY2VJRCxOYW1lIC1GaWx0ZXIgRGVmYXVsdD10cnVlXCIsXG4gICAgXSk7XG5cbiAgICBjb25zdCBwcmludGVyID0gc3Rkb3V0LnRyaW0oKTtcblxuICAgIC8vIElmIHN0ZG91dCBpcyBlbXB0eSwgdGhlcmUgaXMgbm8gZGVmYXVsdCBwcmludGVyXG4gICAgaWYgKCFzdGRvdXQpIHJldHVybiBudWxsO1xuXG4gICAgY29uc3QgeyBpc1ZhbGlkLCBwcmludGVyRGF0YSB9ID0gaXNWYWxpZFByaW50ZXIocHJpbnRlcik7XG5cbiAgICAvLyBEZXZpY2VJRCBvciBOYW1lIG5vdCBmb3VuZFxuICAgIGlmICghaXNWYWxpZCkgcmV0dXJuIG51bGw7XG5cbiAgICByZXR1cm4gcHJpbnRlckRhdGE7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgZ2V0RGVmYXVsdFByaW50ZXI7XG4iXSwibmFtZXMiOlsicm9vdCIsImZhY3RvcnkiLCJleHBvcnRzIiwibW9kdWxlIiwiZGVmaW5lIiwiYW1kIiwiYSIsImkiLCJnbG9iYWwiLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwiZ2V0dGVyIiwiX19lc01vZHVsZSIsImQiLCJkZWZpbml0aW9uIiwia2V5IiwibyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsIm9iaiIsInByb3AiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJTeW1ib2wiLCJ0b1N0cmluZ1RhZyIsInZhbHVlIiwicmVxdWlyZSIsImV4ZWNGaWxlIiwiaXNVc2luZ0FzYXIiLCJwcm9jZXNzIiwidmVyc2lvbnMiLCJtYWluTW9kdWxlIiwiZmlsZW5hbWUiLCJpbmNsdWRlcyIsInRocm93SWZVbnN1cHBvcnRlZE9zIiwidmFsaWRTdWJzZXRzIiwidmFsaWRPcmllbnRhdGlvbnMiLCJ2YWxpZFNjYWxlcyIsInZhbGlkU2lkZXMiLCJ2YWxpZFBhcGVyU2l6ZXMiLCJwcmludCIsInBkZiIsIm9wdGlvbnMiLCJzdW1hdHJhUGRmIiwic3VtYXRyYVBkZlBhdGgiLCJfX2Rpcm5hbWUiLCJwYXRoIiwicmVwbGFjZSIsImFyZ3MiLCJwcmludGVyIiwic2lsZW50IiwicHJpbnREaWFsb2ciLCJwdXNoIiwicHJpbnRTZXR0aW5ncyIsInBhZ2VzIiwic3Vic2V0Iiwib3JpZW50YXRpb24iLCJzY2FsZSIsIm1vbm9jaHJvbWUiLCJzaWRlIiwiYmluIiwicGFwZXJTaXplIiwiY29waWVzIiwiam9pbiIsImdldFByaW50U2V0dGluZ3MiLCJsZW5ndGgiLCJlcnJvciIsImlzVmFsaWRQcmludGVyIiwicHJpbnRlckRhdGEiLCJkZXZpY2VJZCIsIm5hbWUiLCJpc1ZhbGlkIiwic3BsaXQiLCJzb21lIiwibGluZSIsImxhYmVsIiwibWFwIiwiZWwiLCJ0cmltIiwibG93ZXJMYWJlbCIsInRvTG93ZXJDYXNlIiwic3Rkb3V0IiwicHJpbnRlcnMiLCJmaWx0ZXIiLCJmb3JFYWNoIiwic3Rkb3V0SGFuZGxlciJdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file +!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var r=e();for(var n in r)("object"==typeof exports?exports:t)[n]=r[n]}}(global,(function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=2)}([function(t,e,r){"use strict";const{execFile:n}=r(5);t.exports=(t,e=[],r)=>new Promise((i,o)=>{n(t,e,(t,e)=>{t?o(t):i(r?r(e):e)})})},function(t,e){t.exports=require("fs")},function(t,e,r){"use strict";switch(r(3).platform()){case"darwin":case"linux":t.exports={print:r(4),getPrinters:r(6),getDefaultPrinter:r(7)};break;case"win32":t.exports={print:r(8),getPrinters:r(11),getDefaultPrinter:r(12)};break;default:!function(){throw new Error("Platform not supported")}()}},function(t,e){t.exports=require("os")},function(t,e,r){"use strict";const n=r(1),i=r(0);t.exports=(t,e={})=>{if(!t)throw"No PDF specified";if("string"!=typeof t)throw"Invalid PDF name";if(!n.existsSync(t))throw"No such file";const r=[t],{printer:o,unix:s}=e;if(o&&r.push("-d",o),s){if(!Array.isArray(s))throw"options.unix should be an array";s.map(t=>r.push(...t.split(" ")))}return i("lp",r)}},function(t,e){t.exports=require("child_process")},function(t,e,r){"use strict";const n=r(0);t.exports=()=>n("lpstat",["-a"],t=>t.trim().split("\n").map(t=>t.substr(0,t.indexOf(" "))))},function(t,e,r){"use strict";const n=r(0);t.exports=()=>n("lpstat",["-d"],t=>t.substr(t.indexOf(":")+1).trim())},function(t,e,r){"use strict";const n=r(9),i=r(1),o=r(0),{fixPathForAsarUnpack:s}=r(10);t.exports=(t,e={})=>{if(!t)throw"No PDF specified";if("string"!=typeof t)throw"Invalid PDF name";if(!i.existsSync(t))throw"No such file";let r=n.join(__dirname,"SumatraPDF.exe");r=s(r);const u=[],{printer:c,win32:p}=e;if(p){if(!Array.isArray(p))throw"options.win32 should be an array";p.map(t=>u.push(...t.split(" ")))}else c?u.push("-print-to",c):u.push("-print-to-default"),u.push("-silent");return u.push(t),o(r,u)}},function(t,e){t.exports=require("path")},function(t,e,r){"use strict";r.r(e),r.d(e,"fixPathForAsarUnpack",(function(){return n}));"electron"in process.versions&&process.mainModule&&process.mainModule.filename.includes("app.asar");const n=t=>t.replace("/app.asar","")},function(t,e,r){"use strict";const n=r(0);t.exports=()=>n("wmic",["printer","get","name"],t=>t.trim().split(/\s*[\r\n]+/).slice(1))},function(t,e,r){"use strict";const n=r(0);t.exports=()=>n("wmic",["printer","get","name,default"],t=>{const e=t.trim().split(/\s*[\r\n]+/).slice(1).filter(t=>0===t.indexOf("TRUE"));return 0===e.length?"":e[0].replace(/TRUE\s+/,"")})}])})); \ No newline at end of file diff --git a/src/js/module/pdf-to-printer/dist/types.d.ts b/src/js/module/pdf-to-printer/dist/types.d.ts new file mode 100644 index 0000000..a845a5b --- /dev/null +++ b/src/js/module/pdf-to-printer/dist/types.d.ts @@ -0,0 +1,11 @@ +export interface Options { + printer?: string; + unix?: string[]; + win32?: string[]; +} + +export function print(path: string, options?: any): Promise; + +export function getPrinters(): Promise; + +export function getDefaultPrinter(): Promise; diff --git a/src/js/setting/print_monitor.js b/src/js/setting/print_monitor.js index 3b1e664..0d900b0 100644 --- a/src/js/setting/print_monitor.js +++ b/src/js/setting/print_monitor.js @@ -63,8 +63,8 @@ let print_monitor={ print_operation.getPrinterList().then(listPrinter => { return listPrinter }).then(listPrinter => { - print_operation.getDefaultPrinter().then(defaultPrinter => { let data ={} + let defaultPrinter; //获取打印缓存 print_url = os.homedir()+path.sep+"AppData/Local/justarData/print/print.json" log.info("打印机缓存文件:"+print_url); @@ -89,7 +89,6 @@ let print_monitor={ }else{ data = { listPrinter: listPrinter, - defaultPrinter: defaultPrinter.name, pdf_url: pdf_url } win.show(); @@ -98,7 +97,6 @@ let print_monitor={ win.webContents.send('printerData', json_data); } - }); }); }) }, diff --git a/src/views/list_printer.html b/src/views/list_printer.html index 3df5f46..4ff8802 100644 --- a/src/views/list_printer.html +++ b/src/views/list_printer.html @@ -100,14 +100,15 @@ let html = []; for (const printer of data.listPrinter) { if (printer.name === defaultPrinter) { - html.push(` -  ${printer.name} + html.push(` +  ${printer} `) + printData.printer = printer; continue; } - html.push(` -  ${printer.name} + html.push(` +  ${printer} `) }