john 9 月之前
父節點
當前提交
bed81dcad1
共有 2 個文件被更改,包括 60 次插入55 次删除
  1. 8 5
      public/index.html
  2. 52 50
      src/components/HelloWorld.vue

+ 8 - 5
public/index.html

@@ -1,15 +1,18 @@
 <!DOCTYPE html>
 <html lang="en">
   <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width,initial-scale=1.0">
-    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width,initial-scale=1.0" />
+    <link rel="icon" href="<%= BASE_URL %>favicon.ico" />
     <title>pdf-demo</title>
   </head>
   <body>
     <noscript>
-      <strong>We're sorry but pdf-demo doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
+      <strong
+        >We're sorry but pdf-demo doesn't work properly without JavaScript
+        enabled. Please enable it to continue.</strong
+      >
     </noscript>
     <div id="app"></div>
     <!-- built files will be auto injected -->

+ 52 - 50
src/components/HelloWorld.vue

@@ -18,66 +18,68 @@ export default {
   },
   mounted() {
     this.$nextTick(() => {
-        let url =
-        "http://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf";
-        this.getPDF(url);
+      let url =
+        "http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf";
+      this.getPDF(url);
     });
   },
   methods: {
     async getPDF(url) {
-        let pdf = await PDFJS.getDocument(url)
-        container = container || document.querySelector('#container')
-        for(let i = 0; i < pdf.numPages; i++) {
-            try{
-                await this.rendPDF(pdf, i)
-            } catch(e) {
-                // console.error(e)
-            }
+      let pdf = await PDFJS.getDocument(url);
+      container = container || document.querySelector("#container");
+      for (let i = 0; i < pdf.numPages; i++) {
+        try {
+          await this.rendPDF(pdf, i);
+        } catch (e) {
+          // console.error(e)
         }
+      }
     },
     async rendPDF(pdf, num) {
-        let page = await pdf.getPage(num)
-        // 设置展示比例
-        let scale = 1.5;
-        let viewport = page.getViewport(scale);
+      let page = await pdf.getPage(num);
+      // 设置展示比例
+      let scale = 1.5;
+      let viewport = page.getViewport(scale);
 
-        let pageDiv = document.createElement('div');
-        pageDiv.setAttribute('id', 'page-' + (page.pageIndex + 1));
-        pageDiv.setAttribute('style', 'position: relative');
-        container.appendChild(pageDiv);
+      let pageDiv = document.createElement("div");
+      pageDiv.setAttribute("id", "page-" + (page.pageIndex + 1));
+      pageDiv.setAttribute("style", "position: relative");
+      container.appendChild(pageDiv);
 
-        let canvas = document.createElement('canvas');
-        pageDiv.appendChild(canvas);
-        let context = canvas.getContext('2d');
-        canvas.height = viewport.height;
-        canvas.width = viewport.width;
-        
-        let renderContext = {
-            canvasContext: context,
-            viewport: viewport
-        };
-        
-        await page.render(renderContext);
-        // debugger
-        let textContent = await page.getTextContent()
-        // 创建文本图层div
-        const textLayerDiv = document.createElement('div');
-        textLayerDiv.setAttribute('class', 'textLayer');
-        textLayerDiv.setAttribute('style', `width: ${viewport.width}px; margin: 0 auto;`)
-        // 将文本图层div添加至每页pdf的div中
-        pageDiv.appendChild(textLayerDiv);
-        
-        // 创建新的TextLayerBuilder实例
-        var textLayer = new TextLayerBuilder({
-            textLayerDiv: textLayerDiv,
-            pageIndex: page.pageIndex,
-            viewport: viewport
-        });
-        
-        textLayer.setTextContent(textContent);
-        
-        textLayer.render();
+      let canvas = document.createElement("canvas");
+      pageDiv.appendChild(canvas);
+      let context = canvas.getContext("2d");
+      canvas.height = viewport.height;
+      canvas.width = viewport.width;
 
+      let renderContext = {
+        canvasContext: context,
+        viewport: viewport
+      };
+
+      await page.render(renderContext);
+      // debugger
+      let textContent = await page.getTextContent();
+      // 创建文本图层div
+      const textLayerDiv = document.createElement("div");
+      textLayerDiv.setAttribute("class", "textLayer");
+      textLayerDiv.setAttribute(
+        "style",
+        `width: ${viewport.width}px; margin: 0 auto;`
+      );
+      // 将文本图层div添加至每页pdf的div中
+      pageDiv.appendChild(textLayerDiv);
+
+      // 创建新的TextLayerBuilder实例
+      var textLayer = new TextLayerBuilder({
+        textLayerDiv: textLayerDiv,
+        pageIndex: page.pageIndex,
+        viewport: viewport
+      });
+
+      textLayer.setTextContent(textContent);
+
+      textLayer.render();
     }
   }
 };