Hallo, wie die anderen Kommentare bereits aussagen, hängt das natürlich stark davon ab, was du überhaupt zu Papier bringen willst. Ich einigen meiner Anwendungen generiere ich PDF-Dateien. Ich persönlich bevorzuge dazu PDFsharp.
Here are just a few highlights: * Creates PDF documents on the fly from any .Net language * Easy to understand object model to compose documents * One source code for drawing on a PDF page as well as in a window or on the printer * Modify, merge, and split existing PDF files * Images with transparency (color mask, monochrome mask, alpha mask) * Newly designed from scratch and written entirely in C# * The graphical classes go well with .Net
Für anspruchsvollere Dokumente mit Textfluss kannst du MigraDoc Lite verwenden.
Wenn du Windowsforms oberflächen nutzt ist es ganz einfach: Tutorial
Wenn du Berichte drucken willst, musst du diese zunächst mit Crystal Reports vorbereiten, per Dataset mit Daten befüllen und kannst sie dann drucken: MSDN
Ich würde ebenfalls zu PDFsharp greifen und ich hab damit idr. positive Erfahrungen gemacht. Lediglich der Speicherverbrauch ist nicht ganz optimal wenn man mit Bildern arbeitet da die meisten Bilder ausgepackt und zich mal kopiert und neu verpackt werden (letzteres ist nicht wirklich performant wenn man mit vielen Bildern arbeitet).
Als etwas andere Alternative kann ich dir noch wkhtmltopdf ans Herz legen. Damit könntest du in deinem Programm HTML-Seiten erstellen und als PDF rendern lassen. Einen solchen mechanismus implementier ich gerade auf Arbeit um Formulare die sowohl als PDF als auch als HTML-Formular zur Verfügung stehen sollen dynamisch mittels einer Art Content-Managment-Framework zu erstellen.