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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
3Dシーンの圧縮
fadis
1
470
Claspは野良GASの夢をみるか
takter00
0
140
Inside Stream API
skrb
1
340
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
220
AI Agent と正しく分析するための環境作り
yoshyum
3
640
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.2k
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
1.3k
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.3k
AI 時代のソフトウェア設計の学び方
masuda220
PRO
28
11k
Swiftのレキシカルスコープ管理
kntkymt
0
200
関係性から理解する"同一性"の型用語たち
pvcresin
2
610
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
3
1.7k
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
460
Producing Creativity
orderedlist
PRO
348
40k
Rails Girls Zürich Keynote
gr2m
96
14k
How to make the Groovebox
asonas
2
2.2k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
180
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
130
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
140
The browser strikes back
jonoalderson
0
1.1k
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]