From 2534dbbe05184fbad6ec4d00403961b646bb1570 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesko=20Ansch=C3=BCtz?= Date: Mon, 23 Mar 2026 12:18:52 +0100 Subject: [PATCH] PDF-Darstellung: Sidebar und Toolbar ausblenden via URL-Parameter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PDF-URLs bekommen #toolbar=0&navpanes=0&scrollbar=0&view=Fit&page=1 angehängt, damit Chromium den PDF-Viewer ohne Sidebar und Toolbar im Vollbild rendert. PDF.js als Folgeschritt in TODO dokumentiert. Co-Authored-By: Claude Opus 4.6 --- TODO.md | 2 ++ docs/PLAYER-KONZEPT.md | 2 ++ player/agent/internal/playerserver/server.go | 8 ++++++-- 3 files changed, 10 insertions(+), 2 deletions(-) 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'; });