| 

.NET C# Java Javascript Exception

1
Ich habe schon ein paar Internetseiten gesehen, auf denen ein kleines Druckersymbol ist. Wenn man da drauf drückt, erscheint eine hübsche PDF Seite der im Browser angezeigten Website. Gibt es dafür ein eigenes - vermutlich - kostenpflichtiges Tool oder kennt jemand ein JavaSript, dass man einfach übernehmen kann?
16.12.2011
SpectateSwamp 29 1 2
5 Antworten
1
Hallo,

der übliche Vorgang ist, den Server dazu zu bringen aus einer bestimmten HTML Seite ein PDF zu generieren. JavaScript wird in der Regel nicht dafür benutzt. Wenn es überhaupt mit JavaSript geht, dann nur mit ganz fiesen Tricks und einem lokal installierten PDFPrinter.

Für Perl habe ich folgendes gefunden, scheint ganz nett zu sein: PDF::FromHTML

Gruß
16.12.2011
Nicolai Schönberg 2,4k 2 9
1
Hallo,
in vielen Fällen handelt es sich wahrscheinlich um Joomla-Websites. Das CMS hat diese Funktion im Standard.
Es gibt auch Klassen für PHP, die das können. Und eine reine JavaScript-Lösung findest du hier: jsPDF.

Liebe Grüße, Tom
16.12.2011
Metal-Frog 946 1 7
Zitat: "erscheint eine hübsche PDF Seite der im Browser angezeigten Website"
Er möchte also nicht das PDF manuell erzeugen.
Floyd 16.12.2011
Zunächst mal finde ich meinen Hinweis auf Joomla wichtig!
Zweitens hat er nach einer JavaScript Bibliothek gefragt und dazu habe ich eine Antwort geliefert!
Woher weißt du denn, dass für ihn das selbst erstellen nicht in Frage kommt??? Die Einleitung von Andreas Richter beschreibt die Problematik sehr treffend.
Mich für diese Antwort abzuwerten finde ich unfair.
Metal-Frog 16.12.2011
Ich überleg mir es schon genau ob es gerechtfertig ist (Zumal ich selbst Punkte abgezogen bekomme wenn ich eine Antwort als "in meinen Augen nicht zielführend" bewerte).
Die Annahme das es sich um eine Joomla Webseite handeln könnte ist in meinen Augen einfach falsch, da Joomla ein CMS ist welches in PHP geschrieben ist, seine Frage sich aber auf PERL bezieht.

Wie gesagt, ich persönlich finde die Antwort nicht zielführend.
Floyd 16.12.2011
Was ich unbedingt erwähnen möchte ist: Die Bewertung geht nicht gegen dich als Person sondern ich versuche, bereits seit meinen ersten Tagen hier, Beiträge sachlich zu bewerten.
Floyd 16.12.2011
Hallo, von mir gibts ein +1 weil ich wieder um eine Idee bereichert wurde: js => Pdf. Ich habe mir die Bibliothek angeschaut - Ist ziemlich mies. Allerdings ist die Idee recht cool! Was mich mehr wundert als das CMS ist die Tatsache, das Metal-Frog nicht der einzige ist der auf PHP verweist obwohl nach Perl gefragt wurde. Noch ein persönliches Statement zu dem JS to PDF: Idee wiegesagt cool, nutzen würd ich es so nie. Wenn ich HTML Seiten von meinem eigenen Server rendern möchte, muss ich die Seite rendern, den ganzen kram an JS weiterreichen usw. Datei auf Server verarbeiten ist imho besser.
Nicolai Schönberg 16.12.2011
@Nicolai: Falls du meine Antwort mit dem Link meinst: PHP kommt halt in dem Link-Namen vor. Die Antworten dort beziehen sich aber nicht nur auf PHP. Daher der Verweis auf diese Seite, sonst hätte ich es nicht gepostet.
Alternative wäre gewesen, dass ich die entsprechenden Antworten von dort zitiere, aber ich mag keine Redundanzen. ;)
Jürgen Luhr 16.12.2011
@Nicolai: Ich vermute mal du ziehlst aus den Beitrag von Jürgen ab. Hier muss ich sagen das ich auch erst überlegt habe, jedoch werden in dem von ihm verlinkten Beitrag Lösungsmöglichkeiten ohne PHP angeboten. Z.B. XSLT was sich prima mit XHTML-Webseiten kombinieren lässt. Wenn man FPDF und dompdf als Ideen und Keywords benutzt findet man auch die entsprechenden Umsetzungen die mit PERL funktionieren würden.

@Metal-Frog: Da mich Nicolai's Kommentar zum Nachdenken über die gleichberechtigte Bewertung gebracht hat zieh ich meine Bewertung zurück.
Floyd 16.12.2011
Danke an alle für diese Diskussion!
Mir ist dadurch bewusst geworden, dass ich nur auf den Text und nicht auf die Tags geschaut habe, daher ist mir "Pearl" entgangen. Mea Culpa. Hier gelobe ich Besserung.
Auf der anderen Seite frage ich mich, wie die Allgemeinheit grundsätzlich die Abwertung von Beiträge sieht. Ich persönlich würde das nur machen, wenn jemand offensichtlich Unsinn schreibt oder flamed. Bei Antworten, die zumindest annähernd auf die gestellte Frage eingehen, würde ich das nicht tun. Aber wie seht ihr das?
Metal-Frog 16.12.2011
Ich persönlich halte es genauso wie bei stackoverflow:
+1 zielführende / hilfreiche Antwort
-1 falsche / fehlerhafte oder irreführende Antworten
0 nicht oder nur sehr bedingt hilfreiche Antworten
Floyd 16.12.2011
Super, irgend ein Genie hat allen -1 gegeben
Nicolai Schönberg 18.12.2011
1
Es gibt ein OpenSource-Project welches die Webkit-Engine, welche vom Safari und Google Chrome verwendet wird, benutzt um HTML-Seiten als PDF zu rendern.

Link: wkhtmltopdf

Beispiel:

wkhtmltopdf http://www.google.com/ google.pdf

Ich konnte bereits ein paar praktische Erfahrungen damit sammeln und bei meinen Anwendungszenarien hat es bisher immer funktioniert.
16.12.2011
Floyd 14,6k 3 9
Floyd 14,6k 3 9
Hallo Floyd, das Ding sieht ja nett aus! Da du schon erfahrung damit hast hab ich direkt mal eine Frage: Nicht jeder Browser nutzt das Webkit - Hast du mal überlegt ob es möglich ist das Webkit auf dem Server zu hinterlegen und es zu benutzen um das PDF zu rendern? Und nicht den Browser vom User? Grüße
Nicolai Schönberg 16.12.2011
Ah hat sich erledigt ich hätte die Seite mal weiter lesen sollen anstatt sofort hier das Kommentar zu schreiben *Pfeif*
Nicolai Schönberg 16.12.2011
@Nicolai: Es wird bei wkhtmltopdf nicht der Browser des Users verwendet, sondern des Tool benutzt intern die WebKit-Libary welche es selbst mitbringt. Da das Project zudem noch OpenSource ist liese es sich mit einem COM-Interface ausstatten und zum Beispiel in C++, VB, .Net, ... aufrufen und als Libary verwenden.
Floyd 16.12.2011
@Nicolai: Oh .. hat sich ja schon erledigt :D Ich sollte mich nicht so viel ablenken lassen ^^
Floyd 16.12.2011
1
Das Ding ist Rattengeil! :D Lasse es grade über ein paar Websites rennen. Wenn ich Montag wieder im Büro bin muss ich UNBEDINGT was testen :) Gruß
Nicolai Schönberg 16.12.2011
0
Evt. wirst du hier fündig: codekicker: PDF-Datei kostenlos und dynamisch mit PHP erzeugen
Da gibt es einige Antworten.
16.12.2011
Jürgen Luhr 7,1k 1 9
0
Definiere "hübsche PDF Seite der im Browser angezeigten Website" :)

Geht es dir nur darum von der kompletten HTML-Seite ein PDF zubekommen, kannst du jeden handelsüblichen Browser dazu veranlassen in einen PDF-Drucker zu drucken. Chrome hat das bereits eingebaut. Bei anderen Browsern hilft u.U. ein PDF-Drucker. Die gibt es auch zu Hauf im Netz.

Möchtest du allerdings nur den Text der Website ohne nervende Seitenleisten und Werbung haben, wird es kniffliger. Da kommt ein Verfahren ins Spiel, welches die Seite aufbereiten muss.

Ein solches Tool nennt sich Readability und ist in iOS-Software verbaut. Einen Port gibt es z.B. für Ruby. Damit könnte man sich etwas eigenes zurechtbauen.

dotEPUB nutzt z.B. Readability um aus Webseiten ePubs für den einen eBook-Reader zu machen. Ich denke so etwas ähnliches wird es auch zum Generieren von PDFs geben.
16.12.2011
Andreas Richter 1,7k 1 2 8

Stelle deine Web-Frage jetzt!