pdfkit create

Create a PDF in the browser using pdfKit.

by Bryan McIntosh

HTML

<script src="https://cdn.jsdelivr.net/npm/[email protected]/js/pdfkit.standalone.js"></script>

<script src="https://github.com/devongovett/blob-stream/releases/download/v0.1.3/blob-stream.js"></script>
<div>PDF Output <button onclick="download()">Download</button></div>

JavaScript

//Helpful tips here: https://codepen.io/blikblum/pen/gJNWMg?editors=1010
const doc = new window.PDFDocument({
  pdfVersion: '1.5',
  lang: 'en-US',
  tagged: true,
  displayTitle: true,
  info: {
    Title: "DaTitle",
    Author: "DaAuthor"
  }
});
const stream = doc.pipe(blobStream());

doc.fontSize(25).text('Here is some text', 100, 80);

doc.end();


let blob;

function download() {
	if (!blob) return;
  var url = URL.createObjectURL(blob);
  const a = document.createElement("a");
	document.body.appendChild(a);
  a.style = "display: none";
  a.href = url;
  a.download = 'test.pdf';
  a.click();
  window.URL.revokeObjectURL(url);
}

stream.on('finish', function() {
  blob = stream.toBlob("application/pdf");
  // If doing automatic download, use below
  //var blobUrl = URL.createObjectURL(blob);
  //window.open(blobUrl);
});