Laden...

PDF erstellen über PrintPage

Erstellt von Wassermann vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.272 Views
W
Wassermann Themenstarter:in
16 Beiträge seit 2010
vor 13 Jahren
PDF erstellen über PrintPage

Hi Leute,

erstmal danke an die sehr guten Beiträge hier, die mir bis hier her viel geholfen haben.
Nun stehe ich vor einem Problem, wo ich momentan net so wirklich weiter weiß.

Ausgangspunkt: c# Visual Studio 2010 Pro
ich erstelle mit e.Graphics alles zum drucken. Funktioniert auch soweit alles super.

Nun möchte ich im Programm (ohne zutun eines Anwenders), diese Seite als PDF ablegen (Netzlaufwerk), damit ich sie sofort als Mail (using System.Net.Mail;) weiterschicken kann.

.net kann ja keine PDF's erstellen.

Ist sowas mit PDFSharp (oder ähnliches) zu realsieren?
(Mit PDFSharp kann man den Ausdruck auch nachbauen, was ja doppelte arbeit wäre)

Was ich vermeiden möchte, ist sowas mit Acrobat (Versionsprobleme) oder pdfCreator zu machen.

Ich stelle es mir so vor.

new PDF .....
nehme Daten aus

 private void print_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) 
{ 
Graphics gre = e.Graphics; 
............
............
}
  

Speichere es im Pfad XXX ab.

Danach kommt die Mail-Geschichte, was ja auch soweit klappt

Solltet Ihr noch weitere Infos brauchen, einfach Fragen.

Einen Dank im Voraus

Wassermann

5.742 Beiträge seit 2007
vor 13 Jahren

Hallo Wassermann,

herzlich willkommen hier auf myCSharp.de!

.net kann ja keine PDF's erstellen.

Nein, nicht von "Haus" aus.
Mit XPS geht das - wird dir aber wohl eher auch nicht weiterhelfen.

Was ich vermeiden möchte, ist sowas mit Acrobat (Versionsprobleme) oder pdfCreator zu machen.

Ein virtueller Drucker wäre aber IMHO noch das einfachste.

Evtl. wäre eine "professionelle" Reportingsuite, die den PDF-Export schon von sich aus mitbringt (sollte es ein paar kommerzielle geben), eine Möglichkeit.

Mit PDFSharp kann man den Ausdruck auch nachbauen, was ja doppelte arbeit wäre

Wieso doppelte Arbeit?
Du könntest ja die PDFSharp Ausgabe auch auf dem Bildschirm anzeigen.

6.911 Beiträge seit 2009
vor 13 Jahren

Hallo,

Reportingsuite, die den PDF-Export schon von sich aus mitbringt

zB der http://www.gotreportviewer.com/ kann PDFs rendern und mit dem Control auch auf dem Bildschirm angezeigt werden. Also keine doppelte Arbeit 😉

Was mir in letzter Zeit auch ganz gut gefällt ist der Weg XML -> XSLT -> XSL-Fo -> PDF. Für .net gibts dazu http://fonet.codeplex.com/. Das mag sich kompliziert anhören ist es aber garnicht.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

R
103 Beiträge seit 2009
vor 13 Jahren

Wenn Du schon bestehende Routinen auf basis von Graphics hast, kann ich Dir auch PdfSharp empfehlen.

Diese PDF Bibliothek ist unabhängig vom Acrobat und zeichnet in PDFs mit einer Graphics ähnlichen API, nennt sich dann nur XGraphics, XPoint, Xfont ....

W
Wassermann Themenstarter:in
16 Beiträge seit 2010
vor 13 Jahren

Hallo,

danke für die Antworten.

Ich bastle es grad mit PDFSharp nach.

Meine Idee wäre halt gewesen, das z.B PDFSharp die Daten vom e.Graphics mitbenutzen kann, so das der Ausdruck und das PDF (wo nur für den Mail-Versand ist) gleich sind.

Ist halt nun ein bissal gebastle, das gleich aussieht, aber ja nicht wirklich ein Aufwand.

MfG

5.742 Beiträge seit 2007
vor 13 Jahren

Meine Idee wäre halt gewesen, das z.B PDFSharp die Daten vom e.Graphics mitbenutzen kann, so das der Ausdruck und das PDF (wo nur für den Mail-Versand ist) gleich sind.

Wie gesagt: Gehe doch einfach den "umgekehrten" Weg und drucke dann via PDFSharp - laut Featurebeschreibung unterstützt das auch GDI+ Ausgabe.