speechify-clone/static
ifedan-ed e1ff5b045e Real PDF rendering with PDF.js and word-level highlights on canvas
- PDF pages rendered by PDF.js directly from File object (no conversion shown)
- Each page gets a transparent overlay canvas for drawing highlights
- Word positions extracted from PDF.js getTextContent() in PDF coordinate space
- convertToViewportPoint() maps PDF space → canvas pixels correctly (handles y-flip)
- On each sentence: purple highlight rectangles drawn over matching words on the PDF
- Sentence→word mapping via character-position search through word stream
- PDF rendering and text extraction run in parallel (pages appear as they render)
- Nextcloud PDFs use pdf_b64 → PDF.js rendering path
- Removed iframe approach entirely

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 05:16:01 +02:00
..
admin.html Add email verification, user Nextcloud settings, Groq TTS, favicon, and settings page 2026-04-11 04:12:25 +02:00
app.js Real PDF rendering with PDF.js and word-level highlights on canvas 2026-04-11 05:16:01 +02:00
favicon.svg Add email verification, user Nextcloud settings, Groq TTS, favicon, and settings page 2026-04-11 04:12:25 +02:00
index.html Real PDF rendering with PDF.js and word-level highlights on canvas 2026-04-11 05:16:01 +02:00
login.html Add email verification, user Nextcloud settings, Groq TTS, favicon, and settings page 2026-04-11 04:12:25 +02:00
settings.html Add email verification, user Nextcloud settings, Groq TTS, favicon, and settings page 2026-04-11 04:12:25 +02:00
style.css Real PDF rendering with PDF.js and word-level highlights on canvas 2026-04-11 05:16:01 +02:00
verify-fail.html Add email verification, user Nextcloud settings, Groq TTS, favicon, and settings page 2026-04-11 04:12:25 +02:00
verify-ok.html Add email verification, user Nextcloud settings, Groq TTS, favicon, and settings page 2026-04-11 04:12:25 +02:00