Ergebnis 1 bis 14 von 14

Thema: Frontend als *.pdf drucken

  1. #1
    Contao-Urgestein
    Registriert seit
    20.09.2012.
    Ort
    Lüneburger Heide
    Beiträge
    2.031
    Partner-ID
    12207
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard Frontend als *.pdf drucken

    Moin Zusammen,

    ich versuche auf einfache Weise das Frontend als *.pdf zu drucken. Dazu habe ich ein Inhaltelement vom Typ HTML und passe nun das Template dazu an.
    Das *.pdf soll bei Klick auf einen Button gedruckt werden.

    Code:
    <?= $this->html ?>
    <?php
    $druckAnfrage = \Contao\Input::get('pdfdrucken');
    //var_dump($druckAnfrage);
    
    //Dompdf initialisieren
    require 'dompdf/autoload.inc.php';
    
    //Namespace verwenden
    use Dompdf\Dompdf; 
    
    //PDF-Variable erstellen
    $dompdf = new Dompdf(array('enable_remote' => true));
    
    //Frontend HTML laden
    //$dompdf->loadHtml(was muss hier stehen?);
    
    //Papiergroesse einstellen
    //$dompdf->setPaper('A4', 'portrait');
    
    //Schriftart einstellen
    //$font = $dompdf->getFontMetrics()->get_font("helvetica", "normal");
    
    // HTML als PDF rendern
    //$dompdf->render();
    
    
    //Soll nur per Klick auf einen Button passieren
    function streamPdf(){
    
        echo 'Jetzt wird gedruckt.';
        //$dompdf->stream($relativekestream);
           
    }
    
    if(isset($druckAnfrage)){
    
        if($druckAnfrage == 'ja'){
        streamPdf(); 
        }
    }
    
    
    ?>
    Ist es möglich, das HTML des Frontends in eine Variable zu bekommen und in der Funktion "loadHtml" auszugeben?

    Grüße
    Autodidakt und HobbyWebdesigner

    www.webdesign24.biz
    Screencasts zu Contao

  2. #2
    Contao-Urgestein
    Registriert seit
    20.09.2012.
    Ort
    Lüneburger Heide
    Beiträge
    2.031
    Partner-ID
    12207
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Gibt es irgendeine Möglichkeit, an das HTML-Markup des Frontends heranzukommen?

    Grüße
    Autodidakt und HobbyWebdesigner

    www.webdesign24.biz
    Screencasts zu Contao

  3. #3
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.786
    User beschenken
    Wunschliste

    Standard

    Du könntest dir den Inhalt der Webseite holen

    PHP-Code:

    $pageContent 
    file_get_contents('https://www.meine-seite.de/hierundda.html');
    $dompdf->loadHtml($pageContent); 
    Die URL kannst Du ja über das page-Object ausgeben

  4. #4
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.950

    Standard

    Warum willst Du das überhaupt machen? Was spricht gegen ein Print-Stylesheet und den Ausdruck über den normalen Drucken-Dialog (mit "als PDF speichern")?
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  5. #5
    Contao-Urgestein
    Registriert seit
    20.09.2012.
    Ort
    Lüneburger Heide
    Beiträge
    2.031
    Partner-ID
    12207
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von fiedsch Beitrag anzeigen
    Warum willst Du das überhaupt machen? Was spricht gegen ein Print-Stylesheet und den Ausdruck über den normalen Drucken-Dialog (mit "als PDF speichern")?
    Die bisherige Lösung ist ein unheimlich aufwändig programmierter Workflow. Da die Dateien im Anschluss für ein E-Learning Projekt genutzt werden, hat die Gestaltung relativ strenge vorgaben.

    Die *.pdf Dateien müssen sehr genau gestaltet werden, enthalten viele Grafiken und auch Tabellen.
    Dann sollen "eigentlich" auch auf jeder Seite eine Kopf- und Fußzeile gedruckt werden.

    Mein erster Ansatz war genau Dein Vorschlag, wir machen ein print.css .
    Allerdings sehen die *.pdf Dateien damit längst nicht so gut aus wie vorher.

    Wir haben uns denoch wieder für das print.css entschieden.
    Mal sehen was dabei raus kommt.

    Grüße und vielen Dank schon mal Euch allen.
    Geändert von tschero (25.05.2024 um 12:09 Uhr) Grund: Rechtschreibung
    Autodidakt und HobbyWebdesigner

    www.webdesign24.biz
    Screencasts zu Contao

  6. #6
    Contao-Fan
    Registriert seit
    24.02.2021.
    Beiträge
    594
    Contao-Projekt unterstützen

    Support Contao

    Standard

    HTML-Code:
    *, *::before, *::after { all: initial !important }
    Danach schön mit einem classless framework arbeiten (gibt auch welche nur für print media)

    Je nachdem was der Kunde zahlt, kannst du das alles super lösen -> Ansonsten gilt halt.. Holzhammer auf das CSS und HTML so nutzen wie es vorgesehen war:
    https://5stardata.info/de/
    Content-first, nicht design-first

    Lieber habe ich nur reine Daten und Text mit unformatierten Bildern wie damals im MS-Word, als dass ich die broken CSS-Animation mit 100dvh ausdrucken darf

  7. #7
    Contao-Urgestein
    Registriert seit
    20.09.2012.
    Ort
    Lüneburger Heide
    Beiträge
    2.031
    Partner-ID
    12207
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von zoglo Beitrag anzeigen
    Content-first, nicht design-first

    Lieber habe ich nur reine Daten und Text mit unformatierten Bildern wie damals im MS-Word, als dass ich die broken CSS-Animation mit 100dvh ausdrucken darf
    Das geht mir persönlich auch so.
    Autodidakt und HobbyWebdesigner

    www.webdesign24.biz
    Screencasts zu Contao

  8. #8
    Contao-Urgestein
    Registriert seit
    20.09.2012.
    Ort
    Lüneburger Heide
    Beiträge
    2.031
    Partner-ID
    12207
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von zoglo Beitrag anzeigen
    HTML-Code:
    *, *::before, *::after { all: initial !important }
    Danach schön mit einem classless framework arbeiten (gibt auch welche nur für print media)

    Je nachdem was der Kunde zahlt, kannst du das alles super lösen -> Ansonsten gilt halt.. Holzhammer auf das CSS und HTML so nutzen wie es vorgesehen war:
    https://5stardata.info/de/
    Könnte man so ein Framework mit einem gekauften Theme nutzen oder sollte man das eher mit einer Eigenentwicklung nutzen?

    Die größte Herausforderung wird wohl werden, den Kontext zu erhalten, also sowas wie Bildunterschriften bei den Bildern belassen und nicht auf der nächsten Seite, Bilder selbst auf einer Seite darstellen und nicht übergreifend, Listen nicht zu trennen, Tabellen beachten, usw.

    Danke für die guten Ideen.

    Grüße
    Autodidakt und HobbyWebdesigner

    www.webdesign24.biz
    Screencasts zu Contao

  9. #9
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.839
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Müssen es denn komplette Seiten sein oder geht auch die Ausgabe von einzelnen Artikeln (mit entsprechenden Kopf und Fußzeilen)?
    Ich würde mal bei Hagen Klemp von Softleister (im Forum @do_while) nachfragen. Der macht viel mit PDF-Ausgaben und hat auch ein paar Erweiterungen, die sich auf die Ausgabe von Artikeln beziehen.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  10. #10
    Contao-Fan
    Registriert seit
    24.02.2021.
    Beiträge
    594
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von tschero Beitrag anzeigen
    Könnte man so ein Framework mit einem gekauften Theme nutzen oder sollte man das eher mit einer Eigenentwicklung nutzen?

    Die größte Herausforderung wird wohl werden, den Kontext zu erhalten, also sowas wie Bildunterschriften bei den Bildern belassen und nicht auf der nächsten Seite, Bilder selbst auf einer Seite darstellen und nicht übergreifend, Listen nicht zu trennen, Tabellen beachten, usw.

    Danke für die guten Ideen.

    Grüße
    Klar, warum nicht?
    Wie in https://community.contao.org/de/show...l=1#post584793 erwähnt, erstmal das komplette CSS resetten

    Danach z.B. Gutenberg nutzen - Mit @layer braucht man evtl. sogar kein !important beim all: initial und muss sich alle Anweisungen im Framework nicht mit "!important" anpassen:
    https://github.com/BafS/Gutenberg

    Übrigens gerade noch das hier gefunden:
    https://print-css.rocks/

  11. #11
    Contao-Urgestein
    Registriert seit
    20.09.2012.
    Ort
    Lüneburger Heide
    Beiträge
    2.031
    Partner-ID
    12207
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von mlweb Beitrag anzeigen
    Müssen es denn komplette Seiten sein oder geht auch die Ausgabe von einzelnen Artikeln (mit entsprechenden Kopf und Fußzeilen)?
    Ich würde mal bei Hagen Klemp von Softleister (im Forum @do_while) nachfragen. Der macht viel mit PDF-Ausgaben und hat auch ein paar Erweiterungen, die sich auf die Ausgabe von Artikeln beziehen.
    Man kann sich das wie folgt vorstellen:
    Kunde bietet Workshops und Seminare an. Dessen Kunden kaufen sich ein gewünschtes Seminar und bekommen dann einen FrontEnd LogIn. Dort stehen dann die Kursinhalte zur Verfügung. Es ist immer eine komplette Seite - aber mit relativ viel Inhalt.
    Die bisher angebotenen *.pdf Dateien sehen sehr ordentlich aus und so soll es natürlich auch bleiben.

    Da der Kunde mehrfach Änderungen an den Inhalten durchführt, möchte er nur im COntao Backend arbeiten, was ich auch bei der Menge an Inhalt gut nachvollziehen kann.

    @Hagen kann ich gerne mal fragen, das ist eine gute Idee.

    Grüße
    Autodidakt und HobbyWebdesigner

    www.webdesign24.biz
    Screencasts zu Contao

  12. #12
    Contao-Urgestein
    Registriert seit
    20.09.2012.
    Ort
    Lüneburger Heide
    Beiträge
    2.031
    Partner-ID
    12207
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von zoglo Beitrag anzeigen
    Klar, warum nicht?
    Wie in https://community.contao.org/de/show...l=1#post584793 erwähnt, erstmal das komplette CSS resetten

    Danach z.B. Gutenberg nutzen - Mit @layer braucht man evtl. sogar kein !important beim all: initial und muss sich alle Anweisungen im Framework nicht mit "!important" anpassen:
    https://github.com/BafS/Gutenberg

    Übrigens gerade noch das hier gefunden:
    https://print-css.rocks/
    Ok das klingt sehr interessant.
    Das schauen wir und mal genauer an.

    Grüße
    Autodidakt und HobbyWebdesigner

    www.webdesign24.biz
    Screencasts zu Contao

  13. #13
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.786
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von tschero Beitrag anzeigen
    Die bisher angebotenen *.pdf Dateien sehen sehr ordentlich aus und so soll es natürlich auch bleiben.
    "ordentlich" ist ein dehnbarer Begriff - mit einem "HTML-2-PDF" wird man mit einigen Einschränkungen leben müssen

    Exaktere Ergebnisse erhält man m. E. wenn man das Layout selbst erstellt und sich nicht auf HTML +CSS verlässt und auf Sachen wie LaTeX Konverter setzt.

  14. #14
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.950

    Standard

    In Ergänzung zu dem, was @zonky sagt: Du könntest Markdown als Input-Format verwenden um die Dokumentation zu schreiben/schreiben zu lassen. Das könnte man dann direkt in Contao verwenden. Für die Druckversion der Dokumentation" dann via Pandoc in ein gewünschtes Format konvertieren.

    Wenn Markdown schreiben keine Option ist: Pandoc könnte auch *.docx in *.md konvertieren. Die Möglichkeiten sind fast unerschöpflich.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 5 (Registrierte Benutzer: 0, Gäste: 5)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •