diff --git a/TODO.md b/TODO.md index 265b508..8fd6938 100644 --- a/TODO.md +++ b/TODO.md @@ -143,6 +143,8 @@ - [x] Flash-Messages nach Aktionen in Manage-UI (Upload, Loeschen, Speichern) — Feedback fuer den Nutzer - [x] Screen-Online/Offline-Status in Admin-Tabelle anzeigen (aus /status-Endpoint befuellen) - [x] Playlist-Tabelle in overflow-x Wrapper einwickeln (Responsive auf kleinen Screens) +- [x] PDF-Darstellung: Sidebar und Toolbar im Chromium PDF-Viewer ausblenden (URL-Parameter navpanes=0, toolbar=0) +- [ ] PDF-Darstellung: PDF.js fuer automatisches Seitendurchblaettern integrieren ### Mittlere Prioritaet diff --git a/docs/PLAYER-KONZEPT.md b/docs/PLAYER-KONZEPT.md index 3a998ad..980733c 100644 --- a/docs/PLAYER-KONZEPT.md +++ b/docs/PLAYER-KONZEPT.md @@ -148,6 +148,8 @@ Wenn weder Kampagne noch gueltige Playlist-Inhalte verfuegbar sind: - lokal oder aus Cache - Anzeige ueber Browser/PDF-Renderer +- Sidebar und Toolbar im Chromium PDF-Viewer ausblenden (URL-Parameter: `navpanes=0&toolbar=0`) +- Folgeschritt geplant: PDF.js-Integration fuer automatisches Seitendurchblaettern ### Webseite diff --git a/player/agent/internal/playerserver/server.go b/player/agent/internal/playerserver/server.go index 7cb7e77..6771cc7 100644 --- a/player/agent/internal/playerserver/server.go +++ b/player/agent/internal/playerserver/server.go @@ -433,8 +433,12 @@ const playerHTML = ` videoView.onended = advanceOnce; } else { - // type === 'web' oder unbekannt → iframe - frame.src = item.src; + // type === 'web', 'pdf' oder unbekannt → iframe + if (type === 'pdf') { + frame.src = item.src + '#toolbar=0&navpanes=0&scrollbar=0&view=Fit&page=1'; + } else { + if (frame.src !== item.src) { frame.src = item.src; } + } frame.style.display = 'block'; requestAnimationFrame(function() { requestAnimationFrame(function() { frame.style.opacity = '1'; });