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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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.7k
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
440
Enumerator - Enumerable's Ugly Cousin
rossta
1
570
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
Agentic Elixir
whatyouhide
0
440
Symfony AI in Action - SymfonyLive Berlin 2026
chr_hertel
1
120
属人化しないコード品質の作り方_2026.04.07.pdf
muraaano
0
310
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
140
ソフトウェア設計の結合バランス #phperkaigi
kajitack
0
490
【26新卒研修資料】TDD実装演習
dip_tech
PRO
0
170
10 Tips of AWS ~Gen AI on AWS~
licux
5
540
Vibe NLP for Applied NLP
inesmontani
PRO
0
600
エラー処理の温故知新 / history of error handling technic
ryotanakaya
7
1.8k
Import assertionsが消えた日~ECMAScriptの仕様はどう決まり、なぜ覆るのか~
bicstone
2
180
運転動画を検索可能にする〜Cosmos-Embed1とDatabricks Vector Searchで〜/cosmos-embed1-databricks-vector-search
studio_graph
1
650
決定論 vs 確率論:Gemini 3 FlashとTF-IDFを組み合わせた「法規判定エンジン」の構築
shukob
0
150
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
50
15k
How to Talk to Developers About Accessibility
jct
2
190
Fireside Chat
paigeccino
42
3.9k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
SEO for Brand Visibility & Recognition
aleyda
0
4.5k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
100
Heart Work Chapter 1 - Part 1
lfama
PRO
6
35k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
140
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Designing for Performance
lara
611
70k
Agile that works and the tools we love
rasmusluckow
331
21k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.4k
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]