Benutzer mit den meisten Antworten
Daten von labels ausdrucken

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
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
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=pdfhttp://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 -
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
-
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
-
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
-
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 -