Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [GELÖST] Druckbare Datei aus Liste erzeugen? 🤯

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [GELÖST] Druckbare Datei aus Liste erzeugen? 🤯

    This topic has been deleted. Only users with topic management privileges can see it.
    • OliverIO
      OliverIO @Newpicsel last edited by

      @newpicsel

      ok, danke.
      also der drucker selbst kann html emails ausdrucken, bei deinen funktioniert es aber nicht.
      schau mal ob du bei dem blockly (kenn ich leider nicht so gut) im befehlsblock für den email-adapter noch soetwas wie einen MIME-Type oder content-type angeben kannst, ob du da "text/html" angeben kannst.
      Anhand dessen können Mail-clients interpretieren, was da für ein Inhalt ankommt und für den Drucker gilt dann das er den Text richtig als html interpretiert,

      Newpicsel 1 Reply Last reply Reply Quote 0
      • Newpicsel
        Newpicsel @OliverIO last edited by Newpicsel

        @oliverio

        Richtig, dies ist möglich und auch Voraussetzung um nicht einfach den html Code als Text drucken zu lassen, dies funktioniert auch soweit.
        Es kommt wie gesagt erst zu Problemen wenn der html Code einen vorgegebenen Zeilenumbruch (br) beinhaltet.
        Warum dies so ist, kann ich mir nicht erklären, ich vermute einfach dass die html Kompatibilität auf das einfachste begrenzt ist (lediglich Body und Textstyle darf definiert sein) irgendwie Strange aber eventuell mache ich einfach etwas falsch 😅

        Deshalb konzentriere ich mich darauf, ein anständiges html file zu erzeugen, welches sich in pdf umwandeln lässt.
        Soweit sieht es auch ganz gut aus, werde morgen die ersten Tests starten. 😁👍

        OliverIO 1 Reply Last reply Reply Quote 0
        • OliverIO
          OliverIO @Newpicsel last edited by

          @newpicsel

          dürfte eigentlich nicht problematisch sein
          br gehört seit anbeginn der zeiten zum standard.
          kannst du mal das komplette erzeugte html zeigen.
          evtl. ist da ja noch ein problem drin.
          evtl will der drucker ja auch noch ein Doctype

          <!DOCTYPE html>
          

          vor dem html-Tag

          Newpicsel 1 Reply Last reply Reply Quote 0
          • Newpicsel
            Newpicsel @OliverIO last edited by

            @oliverio

            DOCTYPE hatte ich auch schon hinzugefügt leider ohne erfolg,

            <!DOCTYPE html><html><body style="width: 21cm; height: 29.7cm; margin: 30mm 45mm 30mm 45mm; font-family: Verdana; font-size: 14.0px;">• Zucker<br>• Mehl</body></html>
            

            Vielleicht übersehe ich wirklich etwas, aber ohne <br> wird es gedruckt, abstände und schrift werden übernommen...

            liv-in-sky 1 Reply Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @Newpicsel last edited by

              @newpicsel

              nur mal zum probieren - vielleicht voll daneben - aber mach mal das </br> hinter mehl - vielleicht braucht es ein schliessendes tag

              Newpicsel 1 Reply Last reply Reply Quote 0
              • Newpicsel
                Newpicsel @liv-in-sky last edited by

                @liv-in-sky

                Gute Idee, bin ich nicht drauf gekommen!

                Leider ohne Erfolg, was aber merkwürdig ist, wenn ich mir den Quelltext der empfangenen email anschaue, wurde das "/" entfernt so steht wieder ein offenes <br> Hinter Mehl, ich weiß nur nicht wo dies korrigiert wird…

                liv-in-sky 2 Replies Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @Newpicsel last edited by

                  @newpicsel

                  damit <span>• Zucker<br>• Mehl </span>

                  1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @Newpicsel last edited by

                    @newpicsel

                    oder füge eine tabelle ein

                    <table><tr><td>mehl></td></tr><tr><td>zucker></td></tr></table>

                    Newpicsel 1 Reply Last reply Reply Quote 0
                    • Newpicsel
                      Newpicsel @liv-in-sky last edited by

                      @liv-in-sky

                      Funktioniert alles nicht, in der Mail sieht alles gut aus, nur druckt der Drucker nichts, es scheint als dürften sich keine weiteren tags innerhalb des <body> tags befinden, denn auch mit <body><p>Zucker</p><p>Mehl</p></body> wird nichts gedruckt…

                      OliverIO liv-in-sky 2 Replies Last reply Reply Quote 0
                      • OliverIO
                        OliverIO @Newpicsel last edited by

                        @newpicsel

                        dann wird das auch nicht funktionieren. das wäre eine Liste mit aufzählungszeichen nach html

                        <html><head></head><body style="width: 21cm; height: 29.7cm; margin: 30mm 45mm 30mm 45mm; font-family: Verdana; font-size: 14.0px;"><ul><li>Zucker</li><li>Mehl</li></ul></body></html>
                        

                        wie heißt den der drucker. evtl findet man da etwas.

                        1 Reply Last reply Reply Quote 0
                        • liv-in-sky
                          liv-in-sky @Newpicsel last edited by

                          @newpicsel

                          kann man den nicht einen "neue zeile"code eingeben: mehl \n mehl - nannte sich das nicht Escape-Sequenz

                          evtl hier: https://stackoverflow.com/questions/39325414/line-break-in-html-with-n

                          darin ist das:

                          <pre>
                          abc
                          def
                          ghi
                          </pre>

                          @newpicsel sagte in Druckbare Datei aus Liste erzeugen? 🤯:

                          per Webdienst via (eigene) Emailadresse angesteuert

                          gibt es eigentlich dafür eine beschreibung ?

                          OliverIO 1 Reply Last reply Reply Quote 0
                          • OliverIO
                            OliverIO @liv-in-sky last edited by

                            @liv-in-sky
                            @Newpicsel

                            das wäre Vergewaltigung.
                            Man muss mE erst den Grund finden, warum der Drucker html zwar kann, aber nicht so wie man will.
                            ich weiß ja nicht was blockly da hinter <br> einfügt. ist da dann bereits ein newline? evtl. mag der drucker die kombination aus newline-steuerzeichen nicht. wäre zwar ungewöhnlich, aber bei diesen schnell zusammengeschusterten firmwares in china würde mich sowas nicht wundern.

                            er sollte mal erst einmal ohne logik probieren, das html am drucker ausgegeben wird.
                            einfach nur den string, den ich gerade gepostet habe, per email an den drucker senden. da sind keine umbruchzeichen drin. wenn das funktioniert haben wir es.

                            aber zur Sicherheit: Wie heißt der Drucker?

                            Newpicsel 1 Reply Last reply Reply Quote 0
                            • Newpicsel
                              Newpicsel @OliverIO last edited by Newpicsel

                              @oliverio
                              @liv-in-sky

                              Leider alles ohne Erfolg…
                              Es wird tatsächlich nur gedruckt, wenn sich innerhalb des <body> </body> Nichts weiter befindet, mit dem /n wird zwar gedruckt aber dennoch in einer Zeile.

                              Der Drucker ist ein „HP ENVY 7640“
                              Zu der Methode die gesendete email direkt drucken (kein Anhang), kann ich keine Infos finden.

                              Edit: Moment klappt doch !!!
                              Hatte hier beim lauter Testen ein Schnipsel übersehen! <pre>Zucker /n Mehl</pre> funktioniert 😂😂😂

                              OliverIO 1 Reply Last reply Reply Quote 0
                              • OliverIO
                                OliverIO @Newpicsel last edited by

                                @newpicsel sagte in Druckbare Datei aus Liste erzeugen? 🤯:

                                HP ENVY 7640

                                also mal ein bisschen rumgeschaut.
                                wenn du per email druckst, nutzt du dann ePrint von hp ?
                                Da wird html nicht offiziell unterstützt.
                                Ich habe leider auch nix zu den Anforderungen gefunden.
                                wenn du mit dem pre zum erfolg kommst, dann alles gut.
                                ansonsten musst du aus html ein pdf erzeugen und das als anhang per email versenden.

                                seltsam ist, das html teilweise unterstützt wird. wenn jemand sowas umsetzt, dann ganz oder gar nicht. evtl. wird nur ein alter html standard unterstützt. aber alle oben aufgeführten tags sind schon immer da.

                                Newpicsel 1 Reply Last reply Reply Quote 0
                                • Newpicsel
                                  Newpicsel @OliverIO last edited by Newpicsel

                                  @oliverio

                                  Ja richtig, schon komisch aber ok…

                                  Wirklich zum Ziel führt mich dies leider nicht, da ich gerne zwei Listen nebeneinander hätte um nicht zu viel Platz auf einem Blatt A4 zu verschwenden, dafür würde ich jedes zweite Element in eine zweite Liste packen.
                                  Dadurch, dass ich nun keine zwei Container in <body> Stecken kann sowie keine tabelle oder Ähnliches, hat sie diese Idee erübrigt… 😅

                                  Hat hier jemand noch eine Idee?

                                  Zum umwandeln in pdf mit „wkhtmltopdf“, hier hab ich das Problem, dass laut kommandozeile zwar „done“ ausgegeben wird, ich die pdf aber nicht finden kann…

                                  Eingabe:

                                  wkhtmltopdf /opt/iobroker/iobroker-data/files/vis.0/Smart-Home/ShopList.html /opt/iobroker/iobroker-data/files/vis.0/Smart-Home/ShopList.pdf
                                  

                                  Ausgabe:

                                  Loading page (1/2)
                                  Printing pages (2/2)
                                  Done
                                  

                                  Zum verzweifeln 😩

                                  liv-in-sky OliverIO 2 Replies Last reply Reply Quote 0
                                  • liv-in-sky
                                    liv-in-sky @Newpicsel last edited by

                                    @newpicsel

                                    wenn du es mal richtig kompliziert willst - braucht node eintrag im javascript setting

                                    hier wird ein pdf im script direct erzeugt und speichert es auf die platte

                                    const PDFDocument = require('pdfkit');
                                    const fs = require('fs');
                                    
                                    var pdfDoc = new PDFDocument;
                                    pdfDoc.pipe(fs.createWriteStream('/Daten/SampleDocument.pdf'));
                                    
                                    
                                    pdfDoc
                                        .fillColor('blue')
                                        .fontSize(27)
                                        .text("da kann man sich schwindelig coden :-)", 305, 150);
                                    
                                        pdfDoc.moveDown();
                                        pdfDoc.text("nimm dir zeit :-)", 305);
                                        pdfDoc.text("Butter", 150, 150);
                                        pdfDoc.moveDown();
                                        pdfDoc.text("Mehl");
                                    
                                    
                                        pdfDoc.moveDown();
                                    
                                    
                                    
                                    pdfDoc.end();
                                    
                                    
                                    
                                    
                                    

                                    Image 2.png

                                    anleitung:

                                    http://pdfkit.org/index.html
                                    https://www.npmjs.com/package/pdfkit

                                    gibt es wohl auch für table

                                    Newpicsel 1 Reply Last reply Reply Quote 0
                                    • OliverIO
                                      OliverIO @Newpicsel last edited by

                                      @newpicsel sagte in Druckbare Datei aus Liste erzeugen? 🤯:

                                      @oliverio

                                      Ja richtig, schon komisch aber ok…

                                      Wirklich zum Ziel führt mich dies leider nicht, da ich gerne zwei Listen nebeneinander hätte um nicht zu viel Platz auf einem Blatt A4 zu verschwenden, dafür würde ich jedes zweite Element in eine zweite Liste packen.
                                      Dadurch, dass ich nun keine zwei Container in <body> Stecken kann sowie keine tabelle oder Ähnliches, hat sie diese Idee erübrigt… 😅

                                      Hat hier jemand noch eine Idee?

                                      Zum umwandeln in pdf mit „wkhtmltopdf“, hier hab ich das Problem, dass laut kommandozeile zwar „done“ ausgegeben wird, ich die pdf aber nicht finden kann…

                                      Eingabe:

                                      wkhtmltopdf /opt/iobroker/iobroker-data/files/vis.0/Smart-Home/ShopList.html /opt/iobroker/iobroker-data/files/vis.0/Smart-Home/ShopList.pdf
                                      

                                      Ausgabe:

                                      Loading page (1/2)
                                      Printing pages (2/2)
                                      Done
                                      

                                      Zum verzweifeln 😩

                                      ja für solche dinge brauch man ein wenig zeit und muss sich durchbeissen.
                                      hast du den befehl schon mal direkt auf der kommandozeile eingegeben, so das du die Rück-Meldungen des Befehls siehst.
                                      du solltest den befehl direkt im iobroker kontext ausführen.
                                      also

                                      sudo -u iobroker wkhtmltopdf /opt/iobroker/iobroker-data/files/vis.0/Smart-Home/ShopList.html /opt/iobroker/iobroker-data/files/vis.0/Smart-Home/ShopList.pdf
                                      

                                      alternativ kann der artikel helfen?
                                      https://stackoverflow.com/questions/4550612/wkhtmltopdf-cannot-convert-local-file

                                      1 Reply Last reply Reply Quote 0
                                      • Newpicsel
                                        Newpicsel @liv-in-sky last edited by

                                        @liv-in-sky

                                        🤣 ok das ist sehr interessant aber bin schon mit dem umwandeln weiter gekommen…

                                        @OliverIO

                                        Genau, die Ausgabe oben kommt direkt aus der Kommandozeile.

                                        Irgendwie hat sich da irgendwas blockiert…
                                        Ich habe einmal die html und pdf (die ja eigentlich nicht existierte) über die Kommandozeile gelöscht und mein Skript neu gestartet, siehe da, beide Dateien werden angelegt und die pdf an meinen Drucker gesendet und gedruckt!
                                        Ich werd verrückt 😂😂😂
                                        (Ich habe nichts verändert, dass löschen der nicht vorhandenen Datei muss den Fehler behoben haben!)

                                        Einzig mein "•" macht Probleme, dieser kann wohl nicht verarbeitet werden, und wird durch "•" ersetzt!
                                        Hier muss ich noch etwas fummeln oder auf den Punkt verzichten…
                                        Aber das wird schon noch! 😁

                                        liv-in-sky 1 Reply Last reply Reply Quote 0
                                        • liv-in-sky
                                          liv-in-sky @Newpicsel last edited by

                                          @newpicsel

                                          probier mal einen uni-code

                                          https://www.compart.com/de/unicode/U+30FB

                                          &#12539;
                                          
                                          Newpicsel 1 Reply Last reply Reply Quote 0
                                          • Newpicsel
                                            Newpicsel @liv-in-sky last edited by

                                            @liv-in-sky

                                            Unicode klappt so nicht, hab ein paar ausprobiert 😅

                                            Aber ich nehme einfach ein "-" das geht auch gut 😁👍

                                            OliverIO 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            863
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly communication javascript monitoring multimedia template
                                            4
                                            31
                                            1133
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo