Autor Beitrag
lightsaver
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24


C# (VS 2008 Prof.)
BeitragVerfasst: Mo 26.05.08 16:38 
Hi,

und wieder mal habe ich eine Frage. Ich habe ein Formular mit mehreren Textboxen und einer RichTextBox, womit letztendlich ein Brief erstellt wird.
Die RichTextBox (für den Text) alleine kann ich mitlerweile schon ausdrucken (aber auch nur die RTB, nichts weiter), seit ich bei Microsoft eine entsprechende Erweiterung der RichTextBox gefunden habe.
Mein Problem ist aber, dass ich noch die (bisher) 3 weiteren Textboxen (u.a. für die Adresse) (kein RichText) auch noch dazubekommen muss, und das ganze dann in eine bestimmte Struktur gebracht werden muss:

- die Adresse beginnt erst auf einer bestimmten Höhe und ist links ausgerichtet.
- das Datum kommt in eine bestimmte Zeile und ist rechts ausgerichtet.
- der eigentliche Text soll um einen Tab nach rechts hin eingerückt angeordnet werden.
- ab Seite 2 soll der Text natürlich ganz oben beginnen, die Einrückung bleibt natürlich bestehen.
- am Besten sollte ab Seite 2 auch noch die aktuelle Seitennummer in den Footer geschrieben werden.

Als Sprache benutze ich C#.

Bisher habe ich das ganze immer zu einem PDF konvertiert, wo ich die Anordnung über eine Tabelle erreichen konnte, aber letztendlich finde ich dieses Vorgehen Suboptimal. Zum einen brauche ich noch Acrobat oder Ghostscript installiert, zum Anderen kann ich aus meinem Programm heraus nicht den gewünschten Drucker und so einstellen. Dafür müsste man extra halt z.b. Acrobat starten und von dort aus drucken.

Im Internet konnte ich leider bisher nur Anleitungen finden, wie ich normalen Text anordnen kann. Das hilft mir bei dem RichText nur leider nicht wirklich weiter, zumindest wüsste ich nicht, wie.

Gibt es vielleicht ein brauchbares Projekt, was genau solch ein Thema behandelt (ich bin ja wahrscheinlich nicht der Erste, der vor solch einem Problem steht), oder könnt ihr mir entsprechende Hinweise geben, dass ich das selber hinbekomme?
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 26.05.08 16:51 
Hallo!

In Deinem Profil steht, dass Du die Professional-Edition vom Visual Studio hast. Dann sollten da auch die Crystal Reports bei sein, mit denen man sowas machen können sollte (mit den Crytsal Reports habe ich noch nicht gearbeitet, aber für eine Report Engine sollte das ein Klacks sein).

"Zu Fuß" kannst Du das auch noch mit dem PrintDocument machen. Da gibt es ganz ordentlichen Beispiel-Code in der Doku zu und wenn Du mal im Forum nach dem Begriif suchst, sollte auch der ein oder andere Thread daebi herauskommen. Aber spätestens bei der rechtsbündigen Ausrichtung von Text wird's unübersichtlich, wenn auch nicht wirklcih schwierig.

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
lightsaver Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24


C# (VS 2008 Prof.)
BeitragVerfasst: Mo 26.05.08 17:22 
Danke, dann habe ich ja erstmal wieder ein paar neue Stichpunkte, in die ich mich einlesen kann und das klingt ja erstmal sehr vielversprechend.
lightsaver Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24


C# (VS 2008 Prof.)
BeitragVerfasst: Di 27.05.08 14:57 
Also mit den Crystal Reports kann man das wirklich gut lösen, auch wenn das Einarbeiten in diese nicht so wirklich leicht ist.

Für einfachere Formatierungen ist mir aber auch noch eine weitere Möglichkeit eingefallen: Template-Dateien im RTF. Dort einfach Platzhalter setzen und dann mit replace austauschen. Das hat ebenfalls gut funktioniert, außer dass ich es nicht hinbekommen habe, den Text allgemein halt um einen Tab nach rechts einzurücken.

Da mein Programm später aber auch noch Sachen drucken soll, die eher tabellarisch aufgebaut sind, werde ich wohl nur über die Crystal Reports einen einheitlichen Weg gehen können, also danke nochmal für den Tip