{"id":10,"date":"2014-04-28T09:40:56","date_gmt":"2014-04-28T07:40:56","guid":{"rendered":"http:\/\/localhost\/blog\/?p=10"},"modified":"2014-04-28T09:40:56","modified_gmt":"2014-04-28T07:40:56","slug":"ich-trinke-den-kaffee-000000","status":"publish","type":"post","link":"https:\/\/lukas.kurth.rocks\/blog\/2014\/04\/28\/ich-trinke-den-kaffee-000000\/","title":{"rendered":"Ich trinke den Kaffee #000000"},"content":{"rendered":"<p style=\"text-align: justify;\">Eigentlich wollte ich nur mal eine Alternative zu meiner bisherigen L\u00f6sung der PDF-Erstellung \u00fcber PHP zusammensuchen und ein wenig herumbasteln. Da es ein <a href=\"http:\/\/jashkenas.github.io\/coffee-script\/\">Kaffee-Script<\/a> Modul gibt, mit dem PDF Dateien \u00fcber ein server-seitiges Java-Script durch node.js zusammenstellen kann, hielt ich dies f\u00fcr einen guten Anfang. Nach dem Installieren des Node Package Managers, des <a href=\"http:\/\/coffeescript.org\/\">coffee-script<\/a>, des PDF-Kits und verschiedener Module zur Ausgabe der Daten konnte durch diverse Code-Schnipsel immerhin die Ausgabe in einen Dateipfad bewerkstelligt werden. Das h\u00f6rt sich so schon nicht einmal verkehrt an, allerdings soll die Ausgabe direkt in den Browser erfolgen, von daher ist das nicht die Optimal-L\u00f6sung.<\/p>\n<p style=\"text-align: justify;\">In einem scheinbar etwas veralteten Tutorial wurde als weitere M\u00f6glichkeit doc.output() genannt. Diese Funktion ist allerdings schon veraltet und wird vom PDF-Kit mittlerweile nicht mehr unterst?tzt.<\/p>\n<pre toolbar=\"false\" lang=\"batch\">> node \/var\/www\/html\/Kaffee-Scripts\/test.js\n\nError: PDFDocument#output is deprecated, and has been removed from\nPDFKit. Please pipe the document into a Node stream.<\/pre>\n<p style=\"text-align: justify;\">Mit der im Tutorial von PDFKit angegebenen L\u00f6sung f\u00fcr den Browser komme ich soweit auch nicht weiter.<\/p>\n<pre toolbar=\"false\" lang=\"batch\">return new Blob(this._chunks, {\n       ^\nTypeError: undefined is not a function<\/pre>\n<p style=\"text-align: justify;\">Scheinbar muss ich mich erst einmal in <a href=\"http:\/\/nodejs.org\/about\/\">node.js<\/a> einlernen um die Grundidee des Streamens zu verstehen und anwenden zu k\u00f6nnen. Der Kaffee wird warten m\u00fcssen, erst einmal wird node.js gepuncht \ud83d\ude09<\/p>\n<p style=\"text-align: justify;\">PS.: N\u00fctzliche Links:<\/p>\n<ul>\n<li style=\"text-align: left;\"><a href=\"http:\/\/frederic-hemberger.de\/artikel\/einfuehrung-in-node-js\/\">Einf\u00fchrung in NodeJS<\/a><\/li>\n<li style=\"text-align: left;\"><a href=\"http:\/\/xiaoxinqi.com\/pdf\/Mastering%20Node.js.pdf\">Mastering NodeJS<\/a><\/li>\n<li style=\"text-align: left;\"><a href=\"http:\/\/www.galileocomputing.de\/download\/dateien\/3023\/galileocomputing_node.js.pdf\">NodeJS Handbuch \/ Galileocomputing<\/a><\/li>\n<\/ul>\n<p style=\"text-align: justify;\">PPS.: Weitere n\u00fctzliche Befehle:<\/p>\n<ul>\n<li>ln -s \/var\/www\/html \/Desktop\/html<\/li>\n<li>sudo npm install coffee-script<\/li>\n<li>coffee -w -c -o &lt;coffee-scripts(SCRIPTS)&gt; &lt;coffee-scripts (BUILD)&gt;<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Eigentlich wollte ich nur mal eine Alternative zu meiner bisherigen L\u00f6sung der PDF-Erstellung \u00fcber PHP zusammensuchen und ein wenig herumbasteln. Da es ein Kaffee-Script Modul gibt, mit dem PDF Dateien \u00fcber ein server-seitiges Java-Script durch node.js zusammenstellen kann, hielt ich dies f\u00fcr einen guten Anfang. Nach dem Installieren des Node Package Managers, des coffee-script, des [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,16,18,10],"tags":[],"class_list":["post-10","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-coffee-script","category-javascript","category-scripting"],"_links":{"self":[{"href":"https:\/\/lukas.kurth.rocks\/blog\/wp-json\/wp\/v2\/posts\/10","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lukas.kurth.rocks\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lukas.kurth.rocks\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lukas.kurth.rocks\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lukas.kurth.rocks\/blog\/wp-json\/wp\/v2\/comments?post=10"}],"version-history":[{"count":0,"href":"https:\/\/lukas.kurth.rocks\/blog\/wp-json\/wp\/v2\/posts\/10\/revisions"}],"wp:attachment":[{"href":"https:\/\/lukas.kurth.rocks\/blog\/wp-json\/wp\/v2\/media?parent=10"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lukas.kurth.rocks\/blog\/wp-json\/wp\/v2\/categories?post=10"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lukas.kurth.rocks\/blog\/wp-json\/wp\/v2\/tags?post=10"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}