WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 24.01.2023 12:06:45

jps77
Member

Mitarbeiterzeitschrift als pdf zum online lesen

Ich würde ein Modul suchen mit welchem ich eine Mitarbeiterzeitschrift (analog zur Prinzausgabe) im pdf Format zum online lesen anbieten kann.

Offline

#2 24.01.2023 14:50:15

byteworker
Member

Re: Mitarbeiterzeitschrift als pdf zum online lesen

ich würde da auf solche PDF Flipbook Converter ausweichen.

Kleine Übersicht, was es da so gibt:
https://fliphtml5.com/learning-center/d … en-teilen/

oder das hier: bietet Selbsthosting  für das fertige Pageflip Paket an:

https://fliphtml5.com/de/

Offline

Liked by:

florian, jps77

#3 24.01.2023 22:44:24

jps77
Member

Re: Mitarbeiterzeitschrift als pdf zum online lesen

byteworker wrote:

ich würde da auf solche PDF Flipbook Converter ausweichen.

Kleine Übersicht, was es da so gibt:
https://fliphtml5.com/learning-center/d … en-teilen/

oder das hier: bietet Selbsthosting  für das fertige Pageflip Paket an:

https://fliphtml5.com/de/

Danke für den Tipp, das schau ich mir an  smile

Offline

#4 31.01.2023 12:05:03

jps77
Member

Re: Mitarbeiterzeitschrift als pdf zum online lesen

Ich habe mich jetzt dazu entschieden dafür die Download Gallery 3 zu verwenden
weil es einfach nur .pdf Dateien sind und es mit PDF Flipbook Converter einfach zu kompliziert für den Anwender wird.

Jetzt meine Frage zum Modul "Download Gallery 3"
wäre es einfach umsetzbar das bei klick auf Download die Datei in einem neuen Fenster geöffnet wird anstatt diese zu speichern?

Last edited by jps77 (31.01.2023 12:06:54)

Offline

#5 31.01.2023 15:38:27

byteworker
Member

Re: Mitarbeiterzeitschrift als pdf zum online lesen

Für einen einfachen Downloader habe ich das alte Modul "DirList" genommen. Sehr einfach zu bedienen. Ein Verzeichnis im Media erstellen, da alle PDF reingekippt, im Frontend einen Abschnitt mit dem Modul erstellt und als Ziel eben jenes Mediaverzeichnis ausgewählt.

Vorteil: wenn eine neue oder geänderte PDF Datei hochgeladen wird, erzeugt es automatisch den Downloadlink und man hat keinen Kopfschmerz damit. Broken Links gibts damit auch nicht.

Siehe: https://www.korloyeurope.eu/pages/de/download.php

Nachtrag: die Textlinks unten sind es, nicht das obere (mit Blockrocker gemacht)

Last edited by byteworker (01.02.2023 07:38:19)

Offline

#6 31.01.2023 15:46:28

bernd
Developer

Re: Mitarbeiterzeitschrift als pdf zum online lesen

Warum nimmst du nicht einfach DirList dafür?


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

Liked by:

byteworker

#7 31.01.2023 22:53:41

jps77
Member

Re: Mitarbeiterzeitschrift als pdf zum online lesen

DirList sieht von der Optik her leider nicht so schön aus, deshalb hab ich Download Gallery 3  genommen hier kann ich das Coverbild mit anzeigen

Das wär die betreffende Seite https://team-brandl.at/pages/personaljournal.php
Deshalb meine frage ob das einfach umsetzbar wäre das statt dem download die Datei in einem neuen Fenster geöffnet wird.

Offline

#8 31.01.2023 23:32:29

bernd
Developer

Re: Mitarbeiterzeitschrift als pdf zum online lesen

Primär hängt es ja von den Browsereinstellungen ab, ob ein PDF im Browser angezeigt oder heruntergelden oder ob nachgefragt wird.
Für links gibt es zwar das Attribut "download" um Downloads unabhängig dieser Einstellung zu erzwingen. Ein Gegenstück dazu um quasi "view" zu erzwingen ist mir nicht bekannt.

Mein Browser ist auf "im Browser anzeigen" eingestellt.
Damit passiert auf meiner Spielwiese folgendes: das PDF wird im neuen Tab geöffnet und parallel dazu heruntergeladen.
Auf deiner Seite hingegen wird ein Download angefangen, der aber fehlschlägt. Das legt die Vermutung nahe, dass mit deinen PDF's irgendwas nicht stimmt und deshalb der Browser noch nicht mal den Versuch unternimmt etwas darzustellen.


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#9 31.01.2023 23:44:08

jps77
Member

Re: Mitarbeiterzeitschrift als pdf zum online lesen

Bei DirList wird die Datei bei mir im neuen Browserfenster geöffnet,
mit Download Gallery wird sie jedoch heruntergeladen, also kanns an den Browsereinstellungen nicht liegen.

also bei mir wird Datei ganz normal geladen auf all meinen Geräten (PC, Iphone, Ipad)

Last edited by jps77 (31.01.2023 23:49:25)

Offline

#10 01.02.2023 12:18:29

webbird
Administrator

Re: Mitarbeiterzeitschrift als pdf zum online lesen

Die DLG hat dafür die Einstellung "Dateien immer zum Download anbieten". Stell die mal ab, dann sollte die Browser-Einstellung ziehen.


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#11 01.02.2023 12:24:26

jps77
Member

Re: Mitarbeiterzeitschrift als pdf zum online lesen

Wenn ich den Hacken raus nehme, kommt vom Server "Fehler 500"

Offline

#12 01.02.2023 12:32:30

webbird
Administrator

Re: Mitarbeiterzeitschrift als pdf zum online lesen

Was steht im Log?


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#13 01.02.2023 20:56:40

jps77
Member

Re: Mitarbeiterzeitschrift als pdf zum online lesen

webbird wrote:

Was steht im Log?

Nichts, keine Fehlermeldung

Offline

#14 01.02.2023 21:02:04

florian
Administrator

Re: Mitarbeiterzeitschrift als pdf zum online lesen

Es könnte daran liegen, dass die Zeitschriften mit durchschnittlich 20 MB nicht gerade klein sind.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#15 01.02.2023 21:40:53

jps77
Member

Re: Mitarbeiterzeitschrift als pdf zum online lesen

aber mit DirList werden diese ohne Problem geöffnet

Kann es sein das der Hacken bei "Dateien immer zum Download anbieten" einfach nur den Download erlaubt oder verbietet
und nicht zum quasi umschalten zwischen Download und öffnen gedacht ist?

Last edited by jps77 (01.02.2023 21:42:57)

Offline

#16 02.02.2023 08:30:41

florian
Administrator

Re: Mitarbeiterzeitschrift als pdf zum online lesen

Also, auf einer Testinstallation mit einer Datei (520Kb) benimmt sich die DLG genau wie vorgesehen.
Haken gesetzt => Dialog zum Download bzw. je nach Browserkonfig Sofort-Download der Datei ins Download-Verzeichnis auf dem lokalen PC
Haken nicht gesetzt => PDF wird direkt angezeigt (allerdings im selben Browsertab)
Eventuell kann es sonst noch an irgendeiner serverseitigen Konfiguration liegen (.htaccess)


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#17 02.02.2023 11:02:33

jps77
Member

Re: Mitarbeiterzeitschrift als pdf zum online lesen

so jetzt alles durchforstet, in media/download gallery 3 lag eine .htaccess mit folgendem eintrag

<Files .htaccess>
	order allow,deny
	deny from all
</Files>

<Files ~ "\.(php|pl)$">  
    ForceType text/plain
</Files>

Options -Indexes -ExecCGI

hab diese testhalber einfach mal gelöscht, und schwubbs funktioniert es.
sollte die datei dort liegen?

das pdf wird jetzt allerdings im gleichen Fenster geöffnet, schöner wäre jedoch wenn dies in einem neuen Fenster/Tab passiert.
wo bzw. was müsste ich hierfür ändern?

Last edited by jps77 (02.02.2023 11:03:13)

Offline

#18 02.02.2023 14:51:18

florian
Administrator

Re: Mitarbeiterzeitschrift als pdf zum online lesen

Um die Links in neuem Browsertab zu öffnen, füge in der
/modules/download_gallery_3/templates/default/frontend/panelview/files_loop.phtml
in Zeile 67 vor

class="dlg3btn"

einfach noch

target="_blank" 

ein.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Liked by:

jps77

#19 02.02.2023 22:23:08

jps77
Member

Re: Mitarbeiterzeitschrift als pdf zum online lesen

Vielen Dank Florian

Offline

#20 11.03.2023 18:29:18

trnoelli
Member

Re: Mitarbeiterzeitschrift als pdf zum online lesen

Nun sehe ich erst recht spät diesen Thread, aber vielleicht ist es ja dennoch interessant.

Wir haben auf der Seite evgb.de auch PDFs direkt ins WBCE-Frontend eingebunden.

Das Läuft dort über OneForAll und PDFjs, den PDF-Renderer den auch die meisten Browser für ihren Reader nutzen.
Den kann man sehr gut auch ins Theme integrieren.

Wenn Interesse besteht haue ich den Code für die Seiten-Einstellungen mal hier rein.


WBCE 1.5.4, PHP 8.1.16, NWI, FullCalendar, Extcal, OneForAll, NWI Anywhere
WBCE 1.6.0, PHP 8.2.3, NWI

Offline

Liked by:

florian

#21 11.03.2023 18:35:37

Slugger
Member

Re: Mitarbeiterzeitschrift als pdf zum online lesen

Ich würde jetzt einfach Mal schreiben:

HAU DAS REIN ... das Team von WBCE macht das auch.

Jede Innovation hilft alle anderen die diese Plattform nutzen.

... und vielen Dank für deine Unterstützung.


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4:  OK

Offline

Liked by:

trnoelli, berny

#22 11.03.2023 18:50:35

trnoelli
Member

Re: Mitarbeiterzeitschrift als pdf zum online lesen

Kommt!

Ich habe die Schleife dazu genutzt um das Drop-Down zur Auswahl der anzuzeigenden PDF zu bilden.
Wenn nur die letzte gezeigt werden soll kann das natürlich angepasst werden.

Die Felder PDF und TITEL müssen natürlich existieren. PDF ist auch vom Typ Datei Upload.

Kopfzeile:

<section class="box">
  <header>
<h1>Gemeindebrief</h1>
<p>Ausgewählter Gemeindebrief: 
        <select name="selectGB" id="selectGB" onchange="changeGB();" style="width: fit-content; margin-left: 15px; padding-left: 5px; padding-right: 5px;">

Eintrag-Schleife:

<option value="[PDF]">[TITEL]</option>

Fußzeile:
Hier befindet sich der ganze PDFjs-Code und die Logic zum wechseln der PDFs.
Leute mit mehr Erfahrung in Javascript können hier sicherlich einiges optimieren.
Vieles im letzten Script-Tag stammt aus einem Beispiel der PDFjs Homepage, hier kann noch einiges eingestellt werden, z.B. wie die Seiten geladen werden sollen.
Da müsste ich mich aber auch selber erstmal wieder einlesen.


        </select><a href="[PDF]" id="gemeindebrief-dl" style="margin-left: 15px;" download ><span class="fa fa-fw fa-download" style="font-size: 15px;"> </span></a>
</p>
</header>


<header style="text-align: center;">
<ul class="actions">
  <li><button id="prev">vorherige</button></li>
  <li><span>Seite: <span id="page_num"></span> / <span id="page_count"></span></span></li>
  <li><button id="next">nächste</button></li>
</ul>
</header>

<div id="the-container"><canvas id="the-canvas" ></canvas></div>

<footer style="text-align: center;">
<ul class="actions">
  <li><button id="prev_bottom">vorherige</button></li>
  <li><span>Seite: <span id="page_num_bottom"></span> / <span id="page_count_bottom"></span></span></li>
  <li><button id="next_bottom">nächste</button></li>
</ul>
</footer>
</section>
    

<script src="https://cdn.jsdelivr.net/npm/pdfjs-dist@2.16.105/build/pdf.min.js" integrity="sha256-H8KU7v2mAuWRoGwdWvNhyuI3VrWjNPwkIdX5rMzgOOU=" crossorigin="anonymous"></script>

<script>
// If absolute URL from the remote server is provided, configure the CORS
// header on that server.
var url = '';

// Loaded via <script> tag, create shortcut to access PDF.js exports.
// var pdfjsLib = window['pdfjs-dist/build/pdf'];

// The workerSrc property shall be specified.
pdfjsLib.GlobalWorkerOptions.workerSrc = 'https://cdn.jsdelivr.net/npm/pdfjs-dist@2.16.105/build/pdf.worker.min.js'

var pdfDoc = null,
    pageNum = 1,
    pageRendering = false,
    pageNumPending = null,
    canvas = document.getElementById('the-canvas'),
    ctx = canvas.getContext('2d');

/**
 * Get page info from document, resize canvas accordingly, and render page.
 * @param num Page number.
 */
function renderPage(num) {
  pageRendering = true;
  // Using promise to fetch the page
  pdfDoc.getPage(num).then(function(page) {
		var container = document.getElementById('the-container');
		var viewport = page.getViewport({scale: 1});
        var scale = container.clientWidth / viewport.width;
        viewport = page.getViewport({scale: scale});

        canvas.height = viewport.height;
        canvas.width = viewport.width;


        var renderContext = {
            canvasContext: ctx,
            viewport: viewport
        };
    var renderTask = page.render(renderContext);

    // Wait for rendering to finish
    renderTask.promise.then(function() {
      pageRendering = false;
      if (pageNumPending !== null) {
        // New page rendering is pending
        renderPage(pageNumPending);
        pageNumPending = null;
      }
    });
  });
  // Update page counters
  document.getElementById('page_num').textContent = num;
  document.getElementById('page_num_bottom').textContent = num;
}

/**
 * If another page rendering in progress, waits until the rendering is
 * finised. Otherwise, executes rendering immediately.
 */
function queueRenderPage(num) {
  if (pageRendering) {
    pageNumPending = num;
  } else {
    renderPage(num);
  }
}

/**
 * Displays previous page.
 */
function onPrevPage() {
  if (pageNum <= 1) {
    return;
  }
  pageNum--;
  queueRenderPage(pageNum);
}
document.getElementById('prev').addEventListener('click', onPrevPage);
document.getElementById('prev_bottom').addEventListener('click', onPrevPage);

/**
 * Displays next page.
 */
function onNextPage() {
  if (pageNum >= pdfDoc.numPages) {
    return;
  }
  pageNum++;
  queueRenderPage(pageNum);
}

document.getElementById('next').addEventListener('click', onNextPage);
document.getElementById('next_bottom').addEventListener('click', onNextPage);

function changeGB() {
  var gb_value = document.getElementById('selectGB').value;
  pageNum = 1;
  if (typeof gb_value === 'string' && gb_value.length === 0) {
    console.log("no PDF selected");
  } else if (gb_value === url) {
    console.log("already Loaded PDF");
  } else {
    url = gb_value;
    document.getElementById('gemeindebrief-dl').href = url;
    /**
     * Asynchronously downloads PDF.
     */
    pdfjsLib.getDocument(url).promise.then(function(pdfDoc_) {
      pdfDoc = pdfDoc_;
      document.getElementById('page_count').textContent = pdfDoc.numPages;
      document.getElementById('page_count_bottom').textContent = pdfDoc.numPages;

      // Initial/first page rendering
      renderPage(pageNum);
    });
  }
}

changeGB();
</script>

Ich hoffe es hilft. smile

Last edited by trnoelli (11.03.2023 18:53:44)


WBCE 1.5.4, PHP 8.1.16, NWI, FullCalendar, Extcal, OneForAll, NWI Anywhere
WBCE 1.6.0, PHP 8.2.3, NWI

Offline

Liked by:

Slugger, berny, awuest

#23 11.03.2023 19:26:40

trnoelli
Member

Re: Mitarbeiterzeitschrift als pdf zum online lesen

Noch ein Hinweis:
Je nachdem welche Version eingesetzt wird hat PDFjs leider ein Problem mit einer Javascript-Variable die WBCE setzt.

In neueren Versionen sollte das dank Florian allerdings gefixed sein. (Siehe Issue 520)

Last edited by trnoelli (11.03.2023 19:27:07)


WBCE 1.5.4, PHP 8.1.16, NWI, FullCalendar, Extcal, OneForAll, NWI Anywhere
WBCE 1.6.0, PHP 8.2.3, NWI

Offline

Board footer

up