none
Daten von labels ausdrucken RRS feed

  • Frage

  • Hallo Nochmal

    In meinem ASP.Net C# Projekt muss ich auf mehreren Seiten Daten von Textboxen und Checkboxen sammeln und dann auf einer Seite ausgeben, die dann auf einem PDF-Vordruck ausgedruckt werden soll. Dabei sollen die daten der Textboxen und Checkboxen an den Stellen des Vordrucks ausgedruckt werden, das heisst nur der Inhalt der Boxen soll an die dafür vorgesehene stelle gedruckt werden. Wie kann ich die zu druckenden daten so positionieren, das sie an der richtigen Stelle gedruckt werden können.

    Über eine Hilfe würde ich mich sehr freuen.

    Danke schonmal im vorraus

    Martin Kühn

    Montag, 18. Juli 2011 17:10

Antworten

  • Hi,

    Soweit wie ich die Aufgabe verstanden habe soll ich Clientseitig drucken.

    Der Vordruck wird beim User in den Drucker gelegt und dann soll auf den Vordruck nur noch die Texte in die dafür vorgesehenen Felder und für die Checkboxen Kreuze an den dafür vorgesehenen Stellen gedruckt werden.

    ist das jetzt eine PDF Datei oder sollst Du wirklich das Drucken anstoßen?

    Letzteres geht clientseitig nur bedingt. Über window.print() kannst Du zwar den Druckdialog vom Browser aufrufen lassen, mit HTML/CSS hast Du aber nur bedingt Einfluss auf die genaue Formatierung/Positionierung.

    Hier wäre es IMHO sinnvoller, die Daten serverseitig abzugreifen, eine PDF Vorlage per Code zu öffnen, die Werte an die entsprechenden Stellen zu schreiben, die Vorlage als eigene PDF Datei zu speichern und diese Datei dann an den Client zu senden. Der sieht dann die PDF Datei im Browser oder im PDF Viewer (allerdings muss er dafür natürlich einen PDF Viewer lokal installiert haben [Sachen wie pdf.js helfen hier derzeit noch nicht wirklich, da Du ja drucken willst]) und kann diese dann drucken.

    Das hat den Vorteil, dass in der Regel pixelgenau positioniert werden kann, keine unerwünschten Kopf- und Fußzeilen im Ausdruck enthalten sind, ...

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    • Als Antwort markiert martinkuehn Freitag, 22. Juli 2011 15:12
    Dienstag, 19. Juli 2011 20:30
    Moderator

Alle Antworten

  • Hi,
    In meinem ASP.Net C# Projekt muss ich auf mehreren Seiten Daten von Textboxen und Checkboxen sammeln und dann auf einer Seite ausgeben, die dann auf einem PDF-Vordruck ausgedruckt werden soll. Dabei sollen die daten der Textboxen und Checkboxen an den Stellen des Vordrucks ausgedruckt werden, das heisst nur der Inhalt der Boxen soll an die dafür vorgesehene stelle gedruckt werden. Wie kann ich die zu druckenden daten so positionieren, das sie an der richtigen Stelle gedruckt werden können.

    wichtigste Frage dabei: Wo willst Du "drucken"? Auf dem Server oder dem Client?

    Wenn Du serverseitig eine PDF Vorlage hast, die Texte dann einbinden willst und das so geänderte PDF Dokument zum Client senden willst, musst Du eine entsprechende PDF Komponente einsetzen.

      http://sourceforge.net/projects/itextsharp/

      http://www.google.de/search?q=asp.net+pdf

      http://www.asp.net/community/control-gallery/search.aspx?search=1&text=pdf

      http://www.aspose.com/Products/Aspose.Pdf

    Achte aber auch darauf, dass die Komponente mit ASP.NET problemlos läuft. Das ist ganz was anderes als eine normale WinForms oder WPF Anwendung, daher muss eine Komponente bestimmte Anforderungen erfüllen, damit es keine Probleme gibt.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Montag, 18. Juli 2011 18:19
    Moderator
  • Hallo Stefan

    Soweit wie ich die Aufgabe verstanden habe soll ich Clientseitig drucken.

    Der Vordruck wird beim User in den Drucker gelegt und dann soll auf den Vordruck nur noch die Texte in die dafür vorgesehenen Felder und für die Checkboxen Kreuze an den dafür vorgesehenen Stellen gedruckt werden.

    So Ähnlich wie beim Arzt wenn der Krankenschein in den Drucker gelegt wird und nur noch die Texte eingefügt werden.

    Aber ich werde morgen nochmal nachfragen, was genau gewünscht ist,

    Gruß Martin Kühn

    Dienstag, 19. Juli 2011 17:03
  • Hi,

    Soweit wie ich die Aufgabe verstanden habe soll ich Clientseitig drucken.

    Der Vordruck wird beim User in den Drucker gelegt und dann soll auf den Vordruck nur noch die Texte in die dafür vorgesehenen Felder und für die Checkboxen Kreuze an den dafür vorgesehenen Stellen gedruckt werden.

    ist das jetzt eine PDF Datei oder sollst Du wirklich das Drucken anstoßen?

    Letzteres geht clientseitig nur bedingt. Über window.print() kannst Du zwar den Druckdialog vom Browser aufrufen lassen, mit HTML/CSS hast Du aber nur bedingt Einfluss auf die genaue Formatierung/Positionierung.

    Hier wäre es IMHO sinnvoller, die Daten serverseitig abzugreifen, eine PDF Vorlage per Code zu öffnen, die Werte an die entsprechenden Stellen zu schreiben, die Vorlage als eigene PDF Datei zu speichern und diese Datei dann an den Client zu senden. Der sieht dann die PDF Datei im Browser oder im PDF Viewer (allerdings muss er dafür natürlich einen PDF Viewer lokal installiert haben [Sachen wie pdf.js helfen hier derzeit noch nicht wirklich, da Du ja drucken willst]) und kann diese dann drucken.

    Das hat den Vorteil, dass in der Regel pixelgenau positioniert werden kann, keine unerwünschten Kopf- und Fußzeilen im Ausdruck enthalten sind, ...

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    • Als Antwort markiert martinkuehn Freitag, 22. Juli 2011 15:12
    Dienstag, 19. Juli 2011 20:30
    Moderator
  • Hallo Stefan

    Hat sich erledigt. Nach einem erneuten Gespräch soll der fertige Antrag neu gedruckt werden, also keine Vorlage verwendet werden. Dann kann ich ja eine HTML- oder ASP-Seite als Formular entwerfen und die dann über den Druckdialog ausdrucken oder stelle ich mir das zu einfach vor?

    Gruß Martin Kühn

    Donnerstag, 21. Juli 2011 18:26
  • Hallo Martin,
    Dann kann ich ja eine HTML- oder ASP-Seite als Formular entwerfen und die dann über den Druckdialog ausdrucken oder stelle ich mir das zu einfach vor?

    wenn Du damit leben kannst, dass der Browser im Ausdruck Kopf- und Fußzeile sowie ggfs. auch den URL, ... mit übergibt, geht das so.

    Ansonsten würde ich dir schon empfehlen, wie oben beschrieben, serverseitig ein PDF zu erstellen und das an den Client zu senden. Das Dokument kann der Benutzer dann drucken.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Donnerstag, 21. Juli 2011 18:39
    Moderator
  • Hallo Stefan

    Ich denke das soll erstmal reichen ist für mein Prüfungsprojekt. Falls ich noch fragen habe melde ich mich wieder.

    Und vielen Dank nochmal für die Tipps. Ich wäre froh wenn ich schon einen Bruchteil von deinem Wissen hätte.

    Martin Kühn

    Freitag, 22. Juli 2011 15:12