2009-08-03 5 views
11

Ein Projekt, an dem ich gerade arbeite, erfordert, dass ich einen Bericht erstelle, der sowohl in HTML (.aspx) als auch als PDF ausgegeben wird. Gibt es eine Lösung, die es mir ermöglicht, die Ausgabe einer ASPX-Seite an ein PDF-Generierungsdienstprogramm zu füttern? Volle Unterstützung von HTML und CSS wäre ideal.Konvertieren Sie direkt von .aspx zu .pdf

Danke!

+1

Danke für die Antworten bis jetzt! Eine Sache sollte ich wohl klären ... Die Webanwendung ist mit Webformularen und einem SSL-Zertifikat abgesichert. Hoffentlich wird das kein Problem sein. Von dem, was ich lese, scheinen ABCpdf und wkhtmltopdf die besten Optionen zu sein. ABCpdf scheint besser in .NET integriert zu sein, aber wkhtmltopdf kann wahrscheinlich viel komplizierteres CSS rendern, da es die WebKit-Rendering-Engine verwendet. Das CSS wird wahrscheinlich semi-komplex sein, und in der Zukunft können Bilder (Diagramme usw.) hinzugefügt werden. Vielen Dank! – JCdowney

Antwort

12

wkhtmltopdf wird es tun .... ANWENDUNG:

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

Das ist es. Sie können zu jeder Webseite gehen ... sogar aspx. css wird besser als jedes andere Dienstprogramm unterstützt, da es die Webkit-HTML-Rendering-Engine (Safari, Chrome) verwendet. Enjoy

Es gibt eine einzelne .exe (7 mb), die von .Net verwendet werden kann einfach mit Process.Start Stellen Sie sicher, dass Sie die exe in Ihr Projektverzeichnis kopieren, oder Sie müssen den vollständigen Pfad angeben. ex:

static void HtmlToPdf(string website,string destinationFile) 
    { 
     ProcessStartInfo startInfo = new ProcessStartInfo(); 
     startInfo.FileName = "wkhtmltopdf.exe"; 
     startInfo.Arguments = website+" "+destinationFile; 
     Process.Start(startInfo); 
    } 

Ich denke, SSL unterstützt, aber ich glaube nicht, dass 2-Wege-SSL zur Zeit funktionieren würde. Es ist zweifellos der beste Single-Stop HTML -> PDF-Tool, den ich gesehen habe.

+0

Das klingt ausgezeichnet. –

+0

Funktioniert sehr gut, sogar mit meinem Webhosting (Web-App generiert PDF-Rechnungen) – Marek

+0

Ich fand es einige Seiten zu brechen - überprüfen Sie dieses Beispiel: http://jsfiddle.net/BgNPC/8/ –

0

AspPDF ist eine ActiveX-Serverkomponente zum dynamischen Erstellen, Lesen und Ändern von PDF-Dateien (Portable Document Format).

http://www.asppdf.com

3

Ich verwendete HTMLDoc in der Vergangenheit hat es eine gute Arbeit gemacht HTML-Tabellen, Bilder usw. mit einigen grundlegenden Formatierung in eine anständige PDF-Bericht zu verwandeln. Es scheint auch eine open source version zu geben.

iTextSharp Rendern HTML auf einer grundlegenden Ebene.

Ich fand, dass das Hacken in einem einfachen HTML-Renderer mir erlaubte, PDF-Funktionalität sofort anzubieten, und dann musste ich später einen PDF-Bericht-Renderer nachrücken. Dies sollte ziemlich einfach sein, wenn Sie Ihre Präsentationsschicht von Ihren Daten und Ihrer Geschäftslogik getrennt halten.

Ich verwendete PDFlib dann aber iTextSharp und PDFlib sind genial Bibliotheken zum programmatischen Erstellen von PDF aus Ihren Datenquellen.

Ich habe noch keinen perfekten HTML 2 PDF Renderer gesehen, also würde ich einen zweistufigen Ansatz planen. Sie können auch nach this question für andere Optionen suchen.

+0

@ Jle Vorschlag von wkhtmltopdf klingt nach einem besseren Ersatz für htmldoc. –

0

ActivePDF WebGrabber ist ein großartiges Produkt, sobald Sie alles richtig konfiguriert haben. Es ist teuer, aber es hat eine großartige Unterstützung von HTML und CSS.

0

Wir haben das Alt-Soft XML2PDF Produkt für diesen Zweck verwendet. Es kann jede XML-Datei unter Verwendung der XSL-FO markup language in PDF konvertieren.

Wenn also Ihre ASPX-Seiten XHTML-kompatibel sind, konvertiert Xml2PDF diese Dateien recht einfach und problemlos in PDF. Hier ist eine Beispielseite - komplett mit einem herunterladbaren ASP.NET-Beispiel -, die zeigt, wie das funktioniert: http://www.alt-soft.com/products_HTML2PDF.aspx

Es ist nicht kostenlos, aber seinen Lizenzpreis wert!

Marc

0

Dies ist die beste Kontrolle ASPX-Seite in PDF zu konvertieren:

http://www.essentialobjects.com/Products/EOPdf/ASPXToPDF.aspx

Es ist ein ASP.NET-Server-Steuerelement, das Sie einfach in Ihre Seite einfügen können. Es verarbeitet automatisch ASP.NET-Authentifizierung und -Sitzungen. So können Sie Ihre aktuelle Seite auch dann konvertieren, wenn die Seitenanforderung sich anmeldet und Sitzungsdaten verwendet.

+0

Ich kann es nicht von einem der Server herunterladen –

+0

Wie kann ich es herunterladen? –