Platform
Resources
Pricing
Sign in
Get started
Fabian Iwand
Web developer and autodidact with an interest in creative coding.
Workspace
Fork
Public
Hello, ... !
By
Fabian Iwand
Edited
Nov 13, 2023
Paused
Fork of
PDF.js MultiPage Previous/Next
19 stars
1
Insert cell
Insert cell
pdfjs
=
{
const
version
=
"4.0"
;
const
lib
=
await
import
(
`https://cdn.jsdelivr.net/npm/pdfjs-dist@${
version
}/+esm`
)
;
lib
.
GlobalWorkerOptions
.
workerSrc
=
`https://cdn.jsdelivr.net/npm/pdfjs-dist@${
version
}/build/pdf.worker.mjs`
;
return
lib
;
}
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
// FileAttachment
attachedFileDoc
=
pdfjs
.
getDocument
(
{
data
:
await
FileAttachment
(
"helloworld.pdf"
)
.
arrayBuffer
(
)
}
)
.
promise
Insert cell
// Remote URL (which we'll be using throughout the rest of this notebook)
remoteUrlDoc
=
pdfjs
.
getDocument
(
{
url
:
await
FileAttachment
(
"helloworld.pdf"
)
.
url
(
)
}
)
.
promise
Insert cell
page
=
remoteUrlDoc
.
getPage
(
pageNum
)
Insert cell
Insert cell
{
const
canvas
=
html
`<canvas width=${
width
} height=500 style="border: 1px solid #aaa">`
;
page
.
render
(
{
canvasContext
:
canvas
.
getContext
(
"2d"
)
,
viewport
:
page
.
getViewport
(
{
scale
:
1.5
}
)
,
}
)
;
return
canvas
;
}
Insert cell
Insert cell
content
=
await
page
.
getTextContent
(
{
includeMarkedContent
:
false
,
}
)
Insert cell
Inputs
.
table
(
content
.
items
)
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.
Try it for free
Learn more
Compare fork
Fork
View
Export
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
pdfjs
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
pdfUrl
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
pageNum
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
attachedFileDoc
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
remoteUrlDoc
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
page
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
content
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML