none
PDF erstellen RRS feed

  • Frage

  • Hallo allerseits,

    bräuchte eure Meinung bei folgender Überlegung.
    Ich habe eine Website in der Kunden über Warenkorb usw. Waren kaufen können.
    Nach der Zusammenfassung wenn der Kunde auf "Bestellung abschließen" klickt,
    möchte ich ein PDF Dokument erstellen und diesen den Kunden anzeigen.

    Früher habe ich das mittels CrystalReports realisiert, meine Frage wäre ob es mittlerweile
    eifnache Wege bzw. COMs gibt mit der man PDF speichern u. anzeigen kann inkl. der Optionen wie Bsp: Drucken (Ja|Nein), Zoom (Ja|Nein) usw.
    Ich kann mich so sunkel errinnern das mit CrystalReports das nicht so einfach war aber Resultat dafür war umso besser.

    Es sollte nichts kosten und kommerziell verwendbar sein.
    Wäre für jede Unterstützung sehr dankbar.

    Lg

    WaZZ

    Donnerstag, 9. Juli 2015 05:41

Alle Antworten

  • Hi,
    anstelle Crystal Reports kannst Du heute einen ReportViewer in der ASP.NET Anwendung nutzen. Die Verfahrensweise ist vergleichbar mit Cristal Reports. Es wird ein Report erstellt, an den eine ReportDataSource mit den auszugebenden Daten gebunden wird. Das alles kann angezeigt werden. Der Anwender kann dann selbst eine Ausgabe als pdf anstoßen.

    Alternativ dazu kann der ReportViewer auch für die automatische Erzeugung eines pdf als Binärdatei im Hintergrund genutzt werden, die dann dem Anwender bereitgestellt wird.

    Als weitere Alternativen gibt es Konverter, die aus einem Ausgangsdokument ein pdf erzeugen können, welches dann als Binärstrom dem Client übergeben wird. Zu diesen Verfahren habe ich aber keine Erfahrung.


    --
    Viele Grüsse
    Peter Fleischer (MVP, Partner)
    Meine Homepage mit Tipps und Tricks

    Donnerstag, 9. Juli 2015 06:00
  • Hallo Peter und danke für deine Antwort und sry für meine verspätete Antwort.
    Ich habe es mittlerweile mit CrystalReport realisert aber auch mich bisschen über den ReportViewer schlau gemacht. Im Grunde genommen wäre das eine gute alternative jedoch stehe ich einbisschen unter Zeitmangel und müsste mich damit beschäftigen was wiederum Zeit in Anspruch nimmt.
    In den nächsten tagen werde ichs mir genauer ansehen.

    Das einzige Problem wo ich jetzt stehe ist die anzeige des Dokument in einem UserControl.
    Sa happerts einbisschen noch.
    Ich arbeite viel mit jquery und die UserControls werden mittels Webservice (ashx), ajax und jquery geladen.
    Beim laden des UserControls wird in der dyn. erstellten script.block datei oder wie die auch heisen mag angezeigt das ein Syntaxfehler vorliegt jedoch nicht auf der ascx.

    <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="RechnungViewer.ascx.cs" Inherits="Web.RechnungViewer" %>
    <%@ Register Assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" Namespace="CrystalDecisions.Web" TagPrefix="CR" %>
    
    
    <div id="divMainContRechnungViewer" class="tuem orta">
        Die Bestellung wurde erfolgreich abgeschlossen. Sie erhalten eine Besätitgung sowie die Rechnung in elektronischer Form zugesandt.
        <CR:CrystalReportViewer ID="rvRechnungViewer" runat="server" AutoDataBind="true" />
    </div>
    Irgend eine Idee warum es mit UserControls problematischer ist als mit Webform?

    Besten Dank im voraus und Lg
    WaZZ
    Sonntag, 12. Juli 2015 07:01
  • Hi,
    zu dem Problem kann ich Dir auf Anhieb keine Lösung nennen. Ich vermute, dass in Deinem CodeBehind "RechnungViewer.ascx.cs" ein Problem wegen Nichtbeachtung des Lebenszyklus des Steuerelementes gibt, z.B. irgendeine Instanziierung zu früh oder zu spät, weshalb CR Fehler bringt.

    --
    Viele Grüsse
    Peter Fleischer (MVP, Partner)
    Meine Homepage mit Tipps und Tricks

    Sonntag, 12. Juli 2015 08:21
  • Hallo Peter,

    Das Problem liegt eigentlich daran das ich UserControls wie ich oben schon schrieb, mit jQuery lade.
    Der gesamteer HTML Content wird mittels

    HttpContext.Current.Server.Execute(newPage, textWriter, false);
    htmlContent = textWriter.ToString();

    und Webservice an jQuery übergeben. Beim einbinden des Inhalts wird der Fehler ausgegeben da beim parsen vom CrystalReport Zeilenumbrüche im auto gen. Code sind. Diese werden dann als Fehler angezeigt.
    Bei aspx Seiten fällt das abfragen und einbinden des gesamten Conten  weg.
    Daher denke ich das es eher daran liegt.
    Jedoch gebe ich mich damit nicht geschlagen, schöner wäre es in einem DIV anzuzeigen. Jedoch will ich so wenig Libraries wie möglich verwenden.

    Habe mir mal heute auf die schnelle PDFObject angesehen hat leider auf anhieb nicht funktioniert.
    Werde mir das morgen ansehen.

    Jedenfalls danke nochmals und wäre trotzdem für weiter oder andere hilfreiche Beiträge sehr dankbar.

    Lg
    WaZZ



    • Bearbeitet WaZZkeSS Montag, 13. Juli 2015 18:14
    Montag, 13. Juli 2015 18:13