Published
Edited
Apr 29, 2020
2 forks
Importers
11 stars
Insert cell
Insert cell
url = FileAttachment("helloworld.pdf").url()
Insert cell
view = html`${pages.map((page, i) => {
const scale = width / page.getViewport({scale: 1}).width;
const viewport = page.getViewport({scale});
const context = DOM.context2d(viewport.width, viewport.height);
context.canvas.style.border = "solid 1px #ccc";
page.render({canvasContext: context, viewport});
return html`<p>${context.canvas}`;
})}`
Insert cell
pdf = pdfjs.getDocument(url).promise
Insert cell
pages = Promise.all(Array.from({length: pdf.numPages}, (_, i) => pdf.getPage(i + 1)))
Insert cell
pdfjs = {
const [pdfjs, workerSrc] = await Promise.all([
require("pdfjs-dist@2"),
require.resolve("pdfjs-dist@2/build/pdf.worker.js")
]);
pdfjs.GlobalWorkerOptions.workerSrc = workerSrc;
return pdfjs;
}
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more