Render Pages on Canvas in Our JavaScript PDF Viewer
With PSPDFKit, it’s possible to render a single PDF page as an image and insert it into a canvas
element. To do so, you can retrieve a single PDF page as an ArrayBuffer
:
async function appendCanvas() { const instance = await PSPDFKit.load(myConfiguration); const pageWidth = instance.pageInfoForIndex(0).width; const pageHeight = instance.pageInfoForIndex(0).height; const width = 400; const height = Math.round((width * pageHeight) / pageWidth); // Renders the first page (page index 0). const buffer = await instance.renderPageAsArrayBuffer({ width: width }, 0); const canvas = document.createElement("canvas"); canvas.width = width; canvas.height = height; const imageView = new Uint8Array(buffer); const ctx = canvas.getContext("2d"); const imageData = ctx.createImageData(width, height); imageData.data.set(imageView); ctx.putImageData(imageData, 0, 0); document.body.appendChild(canvas); }