cnf
2025-05-15 5f0b94e9c252e507b4c09badf923796151be0d03
unpackage/dist/dev/app-plus/static/pdf/web/viewer.html
@@ -29,55 +29,8 @@
<!-- This snippet is used in production (included from viewer.html) -->
<link rel="resource" type="application/l10n" href="locale/locale.json">
<script src="../build/pdf.mjs" type="module"></script>
   <script type="text/javascript">
       function getBase64Data() {
         // 优先从Session中获取
         let key = "_base64DataStr";
         let result = sessionStorage.getItem(key);
         if (result)
           return result;
         return localStorage.getItem(key);
         // console.log(window.parent.name.length);
         // return window.parent.name;
       }
       // console.log(document.location.search);
       var BASE64_MARKER = ';base64,'; //声明文件流编码格式
       var preFileId = "";
       var pdfAsDataUri = getBase64Data(); //pdf文件的base64码,通过session/local传递base64
       if (!pdfAsDataUri) {
         console.error("SessionStorage中没有_base64DataStr对象");
       }
       // console.log(pdfAsDataUri);
       var pdfAsArray = convertDataURIToBinary(pdfAsDataUri);
       DEFAULT_URL = pdfAsArray;
       //编码转换
       function convertDataURIToBinary(dataURI) {
         //[RFC2045]中有规定: Base64-行不能超过76字符,超过则添加回车换行符。因此需要把base64字段中的换行符,回车符给去掉。
         var base64Index = (dataURI + '').indexOf(BASE64_MARKER) + BASE64_MARKER.length;
         var newUrl = dataURI;
         newUrl = dataURI.substring(base64Index).replace(/[\n\r]/g, '');
         var raw = newUrl;
         try {
           raw = window.atob(newUrl); //这个方法在ie内核下无法正常解析。
         } catch (e) {
           console.error(e);
         }
         var rawLength = raw.length;
         //转换成pdf.js能直接解析的Uint8Array类型
         var array = new Uint8Array(new ArrayBuffer(rawLength));
         for (i = 0; i < rawLength; i++) {
           array[i] = raw.charCodeAt(i) & 0xff;
         }
         return array;
       }
     </script>
 <script src="../build/pdf.mjs" type="module"></script>
    <link rel="stylesheet" href="viewer.css">
  <script src="viewer.mjs" type="module"></script>
@@ -540,21 +493,5 @@
    <div id="printContainer"></div>
    <input type="file" id="fileInput" class="hidden">
   <!--隐藏多余的交互元素-->
   <script type="text/javascript">
     let ids = ["sidebarToggle", "toolbarButtonSpacer", "toolbarViewerRight"];
     ids.forEach(value => {
       let dom = document.getElementById(value);
       if (dom) {
         dom.style.display = "none";
       }
     })
     let scales = document.getElementsByClassName("splitToolbarButton");
     if (scales && scales.length >= 4) {
       scales[3].style.marginLeft = "-80px";
     }
   </script>
  </body>
</html>