PDFJS

PDFJS print

by vikikamath

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.2.0/require.js"></script>
<button id='print'>
Print
</button>
<!-- <canvas id='the-canvas'></canvas> -->
<div id='container'>
<div id='viewer'>

</div>
</div>
<img id='snapshot'/>

CSS

#print {
  z-index: 2;
  position: fixed;
  float: left;
  margin: 20;
}
.textLayer {
  display:none;
}

JavaScript

function pdfPrint() {
var canvases = document.getElementsByTagName('canvas');
	console.log(canvases);
  
  button.style.display = 'none';
  [].forEach.call(canvases, function(canvas) {
  	var img = document.createElement('img');
  	img.src = canvas.toDataURL();
  	img.style.display = 'inline';
  	canvas.style.display = 'none';
  })
  window.print();
  
var imgs = document.getElementsByTagName('img');
  [].forEach.call(imgs, function(img, i) {
  	img.style.display = 'none';
  	canvases[i].style.display = 'block';
 		
  })
button.style.display = 'inline';
  
}

var button = document.getElementById('print');

button.onclick = pdfPrint;

requirejs.config({
  paths: {
    'pdfjs-dist/build/pdf': 'https://rawgit.com/mozilla/pdfjs-dist/master/build/pdf',
    'pdfjs-dist/build/pdf.worker': 'https://rawgit.com/mozilla/pdfjs-dist/master/build/pdf.worker',
    'pdfjs-dist/web/pdf.components': 'https://rawgit.com/mozilla/pdfjs-dist/master/web/pdf_viewer'
  }
});

require(['pdfjs-dist/build/pdf', 'pdfjs-dist/build/pdf.worker', 'pdfjs-dist/web/pdf.components'], function(pdfjs) {
  console.log(pdfjs)
    // In production, change this to point to the built `pdf.worker.js` file.
    //global.PDFJS.workerSrc = '../../src/worker_loader.js';


  // Fetch the PDF document from the URL using promises.
/*  pdfjs.getDocument('https://rawgit.com/mozilla/pdf.js/master/test/pdfs/tracemonkey.pdf').then(function(pdf) {
    // Fetch the page.
    pdf.getPage(1).then(function(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);
    });
  });*/
  
  var pdfViewer = new...