rpt_print.ejs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script src="/public/js/jquery/jquery-3.2.1.min.js"></script>
  7. <script type="text/javascript" src="/public/js/common_ajax.js"></script>
  8. <script type="text/javascript" src="/public/report/js/jpc_output_value_define.js"></script>
  9. <script type="text/javascript" src="/public/report/js/rpt_public.js"></script>
  10. <script type="text/javascript" src="/public/report/js/jpc_output.js"></script>
  11. <script type="text/javascript" src="/public/report/js/rpt_print.js"></script>
  12. <script type="text/javascript" src="/public/report/js/rpt_signature.js"></script>
  13. <script type="text/javascript" src="/public/report/js/rpt_preview_common.js"></script>
  14. <!--
  15. <link rel="stylesheet" href="/public/css/bootstrap/bootstrap.min.css">
  16. -->
  17. <link rel="shortcut icon" href="/public/images/favicon.ico">
  18. </head>
  19. <style type="text/css">
  20. .pageBreakOrg {
  21. page-break-before: auto;
  22. page-break-after: always;
  23. }
  24. .pageBreak {
  25. page-break-before: auto;
  26. page-break-after: auto;
  27. }
  28. <% if(size === 'A4') { %>
  29. @page {
  30. size: A4 portrait;
  31. margin-top: 0cm; margin-bottom: 0cm; margin-left: 0mm; margin-right: 0mm
  32. }
  33. <% } else if(size === 'A3') { %>
  34. @page {
  35. size: A3 portrait;
  36. margin-top: 0cm; margin-bottom: 0cm; margin-left: 0mm; margin-right: 0mm
  37. }
  38. <% } else if(size === 'A5') { %>
  39. @page {
  40. size: A5 portrait;
  41. margin-top: 0cm; margin-bottom: 0cm; margin-left: 0mm; margin-right: 0mm
  42. }
  43. <% } else if(size === 'B4') { %>
  44. @page {
  45. size: B4 portrait;
  46. margin-top: 0cm; margin-bottom: 0cm; margin-left: 0mm; margin-right: 0mm
  47. }
  48. <% } else if(size === 'B5') { %>
  49. @page {
  50. size: B5 portrait;
  51. margin-top: 0cm; margin-bottom: 0cm; margin-left: 0mm; margin-right: 0mm
  52. }
  53. <% } else if(size === 'LETTER') { %>
  54. @page {
  55. size: LETTER portrait;
  56. margin-top: 0cm; margin-bottom: 0cm; margin-left: 0mm; margin-right: 0mm
  57. }
  58. <% } else { %>
  59. @page {
  60. size: A4 portrait;
  61. margin-top: 0cm; margin-bottom: 0cm; margin-left: 0mm; margin-right: 0mm
  62. }
  63. <% } %>
  64. @media print {
  65. body {
  66. margin-top: 0mm; margin-bottom: 0mm; margin-left: 0mm; margin-right: 0mm
  67. }
  68. }
  69. body {page: page}
  70. div {page: page}
  71. </style>
  72. <!--
  73. .printPage {
  74. page: page
  75. }
  76. @page {size: A4 landscape;}
  77. div { page: page }
  78. @page {margin: auto;}
  79. @page horizon {size: A4 landscape;}
  80. @page vertical1 {size: A4 portrait;}
  81. @page horizon1 {size: A4 landscape;}
  82. @page vertical1 {size: A4 portrait;}
  83. -->
  84. <body onload="printPageLoading()" onbeforeunload="printPageClosing()">
  85. <canvas id="chkCanvas" style="display:none"></canvas>
  86. <div class="panel-body" id="print_preview_div" style="display:block">
  87. <button class="btn btn-outline-primary btn-sm" type="button" onclick="printPage()">
  88. <i class="fa fa-print"></i>
  89. 打印 <span id="checkCountPrint" class="badge badge-primary"></span>
  90. </button>
  91. </div>
  92. </body>
  93. <SCRIPT type="text/javascript">
  94. const SCREEN_DPI = [];
  95. function getScreenDPI() {
  96. if (SCREEN_DPI.length === 0) {
  97. if (window.screen.deviceXDPI != undefined) {
  98. SCREEN_DPI.push(window.screen.deviceXDPI);
  99. SCREEN_DPI.push(window.screen.deviceYDPI);
  100. } else {
  101. let tmpNode = document.createElement("DIV");
  102. tmpNode.style.cssText = "width:1in;height:1in;position:absolute;left:0px;top:0px;z-index:99;visibility:hidden";
  103. document.body.appendChild(tmpNode);
  104. SCREEN_DPI.push(parseInt(tmpNode.offsetWidth));
  105. SCREEN_DPI.push(parseInt(tmpNode.offsetHeight));
  106. tmpNode.parentNode.removeChild(tmpNode);
  107. }
  108. }
  109. return SCREEN_DPI;
  110. }
  111. </SCRIPT>
  112. </html>