Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Getting Lazy with Vue and PDFs
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ross Kaffenberger
January 16, 2019
Programming
1.5k
2
Share
Getting Lazy with Vue and PDFs
I share the most important lessons learned while building a PDF Viewer in Vue.
Ross Kaffenberger
January 16, 2019
More Decks by Ross Kaffenberger
See All by Ross Kaffenberger
A Webpack Survival Guide for Rails Developers
rossta
1
2.8k
What I look for in a Junior Developer
rossta
2
1.1k
Progressive Web Apps on Rails
rossta
0
2.3k
Enumerable's Ugly Cousin - GORUCO Microtalk
rossta
0
450
Enumerator - Enumerable's Ugly Cousin
rossta
1
580
Recurring Events with Montrose
rossta
3
2.1k
Enumerable - How I Fell in Love with Ruby
rossta
20
4.8k
Create and Deploy an Ember App in 5 Minutes
rossta
7
3.8k
Other Decks in Programming
See All in Programming
[BalkanRuby 2026] Drop your app/services!
palkan
3
710
Talking to terminals (and how they talk back) (KotlinConf 2026)
jakewharton
PRO
1
150
JavaDoc 再入門
nagise
0
190
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
130
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
150
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
180
さぁV100、メモリをお食べ・・・
nilpe
0
110
Sans tests, vos agents ne sont pas fiables
nabondance
0
170
Inspired By RubyKaigi (EN)
atzzcokek
0
350
Modding RubyKaigi for Myself
yui_knk
0
720
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
460
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.8k
Featured
See All Featured
How to Talk to Developers About Accessibility
jct
2
210
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The SEO Collaboration Effect
kristinabergwall1
1
460
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
210
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.2k
First, design no harm
axbom
PRO
2
1.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
For a Future-Friendly Web
brad_frost
183
10k
Navigating Weather and Climate Data
rabernat
0
200
The untapped power of vector embeddings
frankvandijk
2
1.7k
New Earth Scene 8
popppiees
3
2.3k
Transcript
Ross Kaffenberger @rossta Getting Lazy with Vue and PDFs
Ross Kaffenberger @rossta Building a PDF Vue-er
#dadjokes
None
• ross kaffenberger @rossta
rossta.net/vue-pdfjs-demo
None
PDF.js fetching
None
PDF.js rendering
None
PDF.js in Vue
None
None
Problem: Large PDFs
•Lazy render: draw to canvas when visible •“Infinite” scroll: fetch
pages in batches
Iteration #1: Math!
None
None
None
None
None
None
None
None
Problem: Vue cannot watch $el properties
Manual work
None
None
None
None
Next iteration:
IntersectionObserver!
None
None
Advantages
•no $el property tracking •less code, fewer bugs •easier to
extend
Akryum/vue-observe-visibility
Lesson: Opt for Vue-friendliness
None
Lesson: Be curious and flexible
rossta/vue-pdfjs-demo
@rossta rossta.net/talks
[email protected]