ERLEDIGT
NEIN
NEIN
ANTWORTEN
14
14
ZUGRIFFE
1579
1579
EMPFEHLEN
-
Hallo Leute.
Kann mir bitte einer erklären, ganz einfach wenns geht, wie ich das PDFsharp richtig in meine
VWD2008 Umgebung integriere und damit dann was anfangen kann. Ich hab mir die assemblies pdfsharp.dll und
pdfsharp.charting.dll reingeholt -> ohne rechten Erflog.
Was brauch ich noch und , wenn jmd ein gutes Beispiel weiss, wie man einen eigenen Stundenplan erzeugt, dann
wäre ich schier glücklich!
Viele Grüße
Kropotkin
-
05.06.10 15:03 #2
- Registriert seit
- Aug 2001
- Ort
- Österreich, Stmk, Graz
- Beiträge
- 2.783
Hi.
Wie hasts denn "reingeholt" und wie äusserte sich denn deine Erfolglosigkeit?
Wenn du die DLLs in deinem Projekt referenziert hast, brauchst doch nur noch die
Klassen von PDFsharp benutzen.
Hast dir mal die Beispiele angesehen und ausprobiert?
lg,..With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
Aaron Satie
Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
Captain Jean-Luc Picard, Stardate ~41294.5
Tutorials.de chattet. Hier gibts auch .net Support ^^
Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de
(moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions
-
Hallo, danke erstmal
inzwischen siehst so aus:
Ich habe AssemlyInfo.cs, pdfsharp.cahrting.dll, pdfsharp.dll in den BIN-Ordner
(genügt das?)
dann hab ich das Hello World Beispiel kopiert
hat funktioniert, bis auf das 'Meckern, dasss XStringformat veraltet istPHP-Code:using PdfSharp;
using PdfSharp.Drawing;
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;
...
PdfDocument document = new PdfDocument();
PdfPage page = document.AddPage();
XGraphics gfx = XGraphics.FromPdfPage(page);
XFont font = new XFont("Verdana", 20, XFontStyle.Bold);
gfx.DrawString("Hello, World!", font, XBrushes.Black,
new XRect(0, 0, page.Width, page.Height),
XStringFormat.Center);
string filename = "HelloWorld.pdf";
document.Save("c:\\"+filename);
Also kann ich jetzt das Dokument helloworld im Ordner C: erzeugen
Jetzt würde ich aber gerne daten aus meiner DB als Stundenplan darstellen.
Kannst Du mir da einen Tipp geben ? Ich habe das datum Mo, Di, bis Freitag
Ich habe für die Stunden den Lehrer/Fach und das sollte, wahrschelinlich quer, nun für eine gewählte KW
ein Dokument erzeugen oder gleich ausdrucken, aber das ist über web zu schwierig. Für mich jedenfalls.
Danke nochmal
-
05.06.10 15:28 #4
- Registriert seit
- Aug 2001
- Ort
- Österreich, Stmk, Graz
- Beiträge
- 2.783
Da ich noch nie mit PDFsharp gearbeitet hab, kann ich dir jetzt leider kein konkretes Beispiel zeigen, aber nach kurzem überfliegen der Seite würde ich sagen, dass du dir mal MigraDoc ansehen solltest.
Das gibts auch bei der Seite und das erstellen eines komplexeren Dokuments scheint damit etwas einfacher zu sein.
Wenn du dir das Rechnungs Beispiel ansiehst, wirst sehen, dass
man recht einfach Tabellen erstellen kann, und so ein Stundenplan ist ja auch hauptsächlich eine Tabelle.
lg, AlexWith the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
Aaron Satie
Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
Captain Jean-Luc Picard, Stardate ~41294.5
Tutorials.de chattet. Hier gibts auch .net Support ^^
Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de
(moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions
-
Hey.
Ja werd ich machen.
In was erstellst Du ausdruckbare Sachen ?
Gerade schau ich mir itextsharp an. Kennst Du das ?
Wichtig wären halt Beispiele.
danke
-
05.06.10 15:42 #6
- Registriert seit
- Aug 2001
- Ort
- Österreich, Stmk, Graz
- Beiträge
- 2.783
Ich drucke nicht.
Von daher hab ich kaum mit solchen Bibliotheken zu tun und kann auch nicht mit Beispielen dienen. Auf den ersten Blick scheint aber MigraDoc recht praktisch zu sein.
With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
Aaron Satie
Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
Captain Jean-Luc Picard, Stardate ~41294.5
Tutorials.de chattet. Hier gibts auch .net Support ^^
Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de
(moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions
-
ich bin jetzt auf itextsharp gekommen.
Feines Werkzeug. Leicht und eigtl. einfach zu bedienen.
Es gelingt mir text im pdf zu erzeugen, fast, noch fast, so wie ich will,
ABER: wie kann ich das Dokument auf des Users PC speichern?
Denn das Ganze soll ja aus der Website abrufbar sein...
Danke
Krop
-
05.06.10 21:27 #8
- Registriert seit
- Aug 2001
- Ort
- Österreich, Stmk, Graz
- Beiträge
- 2.783
Code :1 2
Response.ContentType = "application/pdf"; Response.AppendHeader("Content-Disposition","attachment; filename=datei.pdf");
Mit diesen 2 Zeilen kannst du im Browser einen "Datei speichern" Dialog auslösen. Den Inhalt deiner PDF Datei kannst nun noch auf verschiedene Arten übermitteln. Solltest du eine temporäre Datei anlegen bräuchtest du nur Response.TransmitFile benutzen. Hast du deine PDF Datei in einem Bytearray (oder MemoryStream) wird Response.BinaryWrite deine Wahl sein.
lg,..
With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
Aaron Satie
Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
Captain Jean-Luc Picard, Stardate ~41294.5
Tutorials.de chattet. Hier gibts auch .net Support ^^
Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de
(moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions
-
erstmal tausend Dank.
ABER, sorry, dass ich nerve.
Die zwei Zeilen von Dir funktionieren inswoeit, dass ich den downloasdialog bekomme und
den File downloaden kann. Nur lesen kann man ihn nicht. AdobeReaderfehlermedlung, dass
das Doc beschädigt ist usw....
Hier der code
und sorry, dass ich so nerve, aber es läßt mich nicht mehr los und ich bin da ziemlich neu drinCode :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Document document = new Document(PageSize.A4, 72, 72, 72, 72); PdfWriter writer = PdfWriter.GetInstance(document, [B] new FileStream[/B]("MeinPDFFile.pdf", FileMode.Create)); document.AddAuthor("ich"); document.AddCreationDate(); document.AddCreator("xxxxxx"); document.AddHeader("MeinPDFFile", "Eine Test PDF"); document.Open(); List list = new List(true, 20); list.Add("Das ist ein erster Listentext"); list.Add("eine Tabelle MUSS folgen"); list.Add("was sonst in der Liste steht ... keiner weiss es"); document.Add(list); list.Symbol = new Chunk("\u2022", FontFactory.GetFont(FontFactory.HELVETICA, 20)); document.Add(new Phrase("einfach ein neuer Satz dazu und fertig")); document.Close(); Response.ContentType = "application/pdf"; Response.AppendHeader("Content-Disposition", "attachment; filename=MeinPDFFile.pdf");
Krop
-
05.06.10 23:27 #10
- Registriert seit
- Aug 2001
- Ort
- Österreich, Stmk, Graz
- Beiträge
- 2.783
Du musst die Datei noch senden, über eine der 2. Methoden die ich dir genannt habe.
With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
Aaron Satie
Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
Captain Jean-Luc Picard, Stardate ~41294.5
Tutorials.de chattet. Hier gibts auch .net Support ^^
Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de
(moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions
-
Könntest Du mal den Code anschauen, den ich geschickt habe ?
Wie soll die Response.BinaryWrite - Methode genau aussehen? Ich hab Null Plan
wie ich das zusammen mit den beiden responses machen soll.
Wäre toll, denn ich such mir nen wolf
Krop
-
Hallo
Ich habs jetzt so gemacht.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
Document document = new Document(PageSize.A4, 72, 72, 72, 72); PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("MeinPDFFile.pdf", FileMode.Create)); document.AddAuthor("Giovanni Scarlata"); document.AddCreationDate(); document.AddCreator("xxxxxx"); document.AddHeader("MeinPDFFile", "Eine Test PDF"); document.Open(); List list = new List(true, 20); list.Add("Das ist ein erster Listentext"); list.Add("eine Tabelle MUSS folgen"); list.Add("was sonst in der Liste steh? keiner weiss es"); document.Add(list); list.Symbol = new Chunk("\u2022", FontFactory.GetFont(FontFactory.HELVETICA, 20)); document.Add(new Phrase("einfach ein neuer Satz dazu und fertig")); document.Close(); Response.ContentType = "application/pdf"; Response.AppendHeader("Content-Disposition", "attachment; filename=MeinPDFFile.pdf"); long FileSize; FileStream MyFileStream = new FileStream("MeinPDFFile.pdf", FileMode.Open); FileSize = MyFileStream.Length; byte[] Buffer = new byte[(int)FileSize]; MyFileStream.Read(Buffer, 0, (int)FileSize); MyFileStream.Close(); Response.Write("<b>File Contents: </b>"); Response.BinaryWrite(Buffer);
Lokal gehts, aber vom Server aus krieg ich dies
Der Zugriff auf den Pfad "c:\windows\system32\inetsrv\MeinPDFFile.pdf" wurde verweigert.
Krop
-
06.06.10 01:13 #13
- Registriert seit
- Aug 2001
- Ort
- Österreich, Stmk, Graz
- Beiträge
- 2.783
Du musst in einem Ordner speichern, in dem du auch wirklich schreiben darfst.
Wenn du bei ASP.net einen relativen Pfad nimmst, versuchst du im System32 Ordner zu speichern.
Mit Server.MapPath kannst du einen Pfad innerhalb deiner ASP.net Anwendung in einen absoluten Pfad am Server umwandeln welchen du zum Speichern (und lesen) deiner Datei verwenden kannst.With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
Aaron Satie
Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
Captain Jean-Luc Picard, Stardate ~41294.5
Tutorials.de chattet. Hier gibts auch .net Support ^^
Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de
(moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions
-
Supa!
Klappt. yeah! darf ich Dich Hebamme nennen ?
War ja ne schwere Geburt.
Ich setz hier mal den Code für nachfolgende Generationen rein.
Thema: PDF erstellen und dann beim User berDownloaddialog abspeichern:
Dank an DichPHP-Code:Document document = new Document(PageSize.A4, 72, 72, 72, 72);
PdfWriter writer = PdfWriter.GetInstance(document,
new FileStream(Server.MapPath("./") +"MeinPDFFile.pdf",
FileMode.Create));
document.AddAuthor("ich & ich");
document.AddCreationDate();
document.AddCreator("xxxxxx");
document.AddHeader("MeinPDFFile", "Eine Test PDF");
document.Open();
List list = new List(true, 20);
list.Add("Das ist ein erster Listeneintrag");
list.Add("ein zweiter Listeneintrag");
list.Add("was sonst in der Liste steht? keiner weiss es");
document.Add(list);
list.Symbol = new Chunk("\u2022", FontFactory.GetFont(FontFactory.HELVETICA, 20));
document.Add(new Phrase("So kommt einfach ein neuer Satz dazu und fertig"));
document.Close();
Response.ContentType = "application/pdf";
Response.AppendHeader("Content-Disposition", "attachment; filename=MeinPDFFile.pdf");
long FileSize;
FileStream MyFileStream = new FileStream(Server.MapPath("./") + "MeinPDFFile.pdf", FileMode.Open);
FileSize = MyFileStream.Length;
byte[] Buffer = new byte[(int)FileSize];
MyFileStream.Read(Buffer, 0, (int)FileSize);
MyFileStream.Close();
Response.BinaryWrite(Buffer);
Krop
-
06.06.10 15:51 #15
- Registriert seit
- Aug 2001
- Ort
- Österreich, Stmk, Graz
- Beiträge
- 2.783
Hi.
Schön das es nun klappt.
Hätte da noch aber ein paar kleine Vorschläge/Hinweise für dich:
* Speichere den Pfad zur Datei in eine Variable, dann brauchst du nicht 2 mal MapPath verwenden. Ausserdem kannst du direkt den Dateinamen in den MapPath-Aufruf geben (bei dir also Server.MapPath("./meinpdf.pdf")) damit sparst dir deine Stringverkettung.
* Der Dateiname den du beim Content-Disposition-Header angibst muss nicht dem originalen Dateinamen entsprechen.
* Wenn du schon die Datei am Server speicherst bietet sich der Befehl Server.TransmitFile an. Damit sparst du dir das einlesen der Datei in dein Bytearray. Wenn du es aber schon so machst, könntest du nach dem Einlesen der Datei diese auch gleich löschen. Dann liegt sie nicht unnütz am Server rum und kann auch nicht durch erraten des Pfades von anderen heruntergeladen werden.
lg, und noch nen schönen Sonntag,
AlexWith the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
Aaron Satie
Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
Captain Jean-Luc Picard, Stardate ~41294.5
Tutorials.de chattet. Hier gibts auch .net Support ^^
Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de
(moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions
Ähnliche Themen
-
IIS 6 installieren
Von Ste-Re im Forum .NET Web und KommunikationAntworten: 4Letzter Beitrag: 07.11.07, 22:17 -
PdfSharp
Von SeeSharpNewBee im Forum .NET Windows FormsAntworten: 2Letzter Beitrag: 03.09.07, 09:30 -
.deb installieren
Von notebook20000 im Forum Linux & UnixAntworten: 2Letzter Beitrag: 03.01.07, 14:37 -
win neu installieren
Von affaaffa im Forum Microsoft WindowsAntworten: 3Letzter Beitrag: 27.03.05, 17:47 -
MS-DOS installieren
Von kingkutschat im Forum Microsoft WindowsAntworten: 4Letzter Beitrag: 22.08.04, 20:40





Zitieren

Login





