Skip to content
Snippets Groups Projects
helloworld64.html 3.02 KiB
Newer Older
  • Learn to ignore specific revisions
  • <!DOCTYPE html>
    <html>
    <head>
      <meta charset="UTF-8">
      <title>'Hello, world!' base64 example</title>
    </head>
    <body>
    
    <h1>'Hello, world!' example</h1>
    
    <canvas id="the-canvas" style="border:1px  solid black"></canvas>
    
    <!-- for legacy browsers we need to use compatibility.js -->
    <script src="../../web/compatibility.js"></script>
    
    <script src="../../build/pdf.js"></script>
    
    <script id="script">
      // atob() is used to convert base64 encoded PDF to binary-like data.
      // (See also https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/
      // Base64_encoding_and_decoding.)
      var pdfData = atob(
        'JVBERi0xLjcKCjEgMCBvYmogICUgZW50cnkgcG9pbnQKPDwKICAvVHlwZSAvQ2F0YWxvZwog' +
        'IC9QYWdlcyAyIDAgUgo+PgplbmRvYmoKCjIgMCBvYmoKPDwKICAvVHlwZSAvUGFnZXMKICAv' +
        'TWVkaWFCb3ggWyAwIDAgMjAwIDIwMCBdCiAgL0NvdW50IDEKICAvS2lkcyBbIDMgMCBSIF0K' +
        'Pj4KZW5kb2JqCgozIDAgb2JqCjw8CiAgL1R5cGUgL1BhZ2UKICAvUGFyZW50IDIgMCBSCiAg' +
        'L1Jlc291cmNlcyA8PAogICAgL0ZvbnQgPDwKICAgICAgL0YxIDQgMCBSIAogICAgPj4KICA+' +
        'PgogIC9Db250ZW50cyA1IDAgUgo+PgplbmRvYmoKCjQgMCBvYmoKPDwKICAvVHlwZSAvRm9u' +
        'dAogIC9TdWJ0eXBlIC9UeXBlMQogIC9CYXNlRm9udCAvVGltZXMtUm9tYW4KPj4KZW5kb2Jq' +
        'Cgo1IDAgb2JqICAlIHBhZ2UgY29udGVudAo8PAogIC9MZW5ndGggNDQKPj4Kc3RyZWFtCkJU' +
        'CjcwIDUwIFRECi9GMSAxMiBUZgooSGVsbG8sIHdvcmxkISkgVGoKRVQKZW5kc3RyZWFtCmVu' +
        'ZG9iagoKeHJlZgowIDYKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDEwIDAwMDAwIG4g' +
        'CjAwMDAwMDAwNzkgMDAwMDAgbiAKMDAwMDAwMDE3MyAwMDAwMCBuIAowMDAwMDAwMzAxIDAw' +
        'MDAwIG4gCjAwMDAwMDAzODAgMDAwMDAgbiAKdHJhaWxlcgo8PAogIC9TaXplIDYKICAvUm9v' +
        'dCAxIDAgUgo+PgpzdGFydHhyZWYKNDkyCiUlRU9G');
    
      // Disable workers to avoid yet another cross-origin issue (workers need
      // the URL of the script to be loaded, and dynamically loading a cross-origin
      // script does not work).
      //
      // PDFJS.disableWorker = true;
    
      // In cases when the pdf.worker.js is located at the different folder than the
      // pdf.js's one, or the pdf.js is executed via eval(), the workerSrc property
      // shall be specified.
      //
      // PDFJS.workerSrc = '../../build/pdf.worker.js';
    
      // Opening PDF by passing its binary data as a string. It is still preferable
      // to use Uint8Array, but string or array-like structure will work too.
      PDFJS.getDocument({data: pdfData}).then(function getPdfHelloWorld(pdf) {
        // Fetch the first page.
        pdf.getPage(1).then(function getPageHelloWorld(page) {
          var scale = 1.5;
          var viewport = page.getViewport(scale);
    
          // Prepare canvas using PDF page dimensions.
          var canvas = document.getElementById('the-canvas');
          var context = canvas.getContext('2d');
          canvas.height = viewport.height;
          canvas.width = viewport.width;
    
          // Render PDF page into canvas context.
          var renderContext = {
            canvasContext: context,
            viewport: viewport
          };
          page.render(renderContext);
        });
      });
    </script>
    
    <hr>
    <h2>JavaScript code:</h2>
    <pre id="code"></pre>
    <script>
      document.getElementById('code').textContent =
        document.getElementById('script').text;
    </script>
    </body>
    </html>