tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
14
ZUGRIFFE
1579
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Kropotkin Kropotkin ist offline Mitglied Bronze
    Registriert seit
    Dec 2007
    Beiträge
    36
    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
     

  2. #2
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    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

  3. #3
    Kropotkin Kropotkin ist offline Mitglied Bronze
    Registriert seit
    Dec 2007
    Beiträge
    36
    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

    PHP-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"20XFontStyle.Bold);
                
    gfx.DrawString("Hello, World!"fontXBrushes.Black,
                  new 
    XRect(00page.Widthpage.Height),
                 
    XStringFormat.Center);
                
    string filename "HelloWorld.pdf";
                
    document.Save("c:\\"+filename); 
    hat funktioniert, bis auf das 'Meckern, dasss XStringformat veraltet ist
    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
     

  4. #4
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    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, Alex
     
    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

  5. #5
    Kropotkin Kropotkin ist offline Mitglied Bronze
    Registriert seit
    Dec 2007
    Beiträge
    36
    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
     

  6. #6
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    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

  7. #7
    Kropotkin Kropotkin ist offline Mitglied Bronze
    Registriert seit
    Dec 2007
    Beiträge
    36
    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
     

  8. #8
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    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

  9. #9
    Kropotkin Kropotkin ist offline Mitglied Bronze
    Registriert seit
    Dec 2007
    Beiträge
    36
    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

    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
    
    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");
    und sorry, dass ich so nerve, aber es läßt mich nicht mehr los und ich bin da ziemlich neu drin
    Krop
     

  10. #10
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    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

  11. #11
    Kropotkin Kropotkin ist offline Mitglied Bronze
    Registriert seit
    Dec 2007
    Beiträge
    36
    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
     

  12. #12
    Kropotkin Kropotkin ist offline Mitglied Bronze
    Registriert seit
    Dec 2007
    Beiträge
    36
    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
     

  13. #13
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    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

  14. #14
    Kropotkin Kropotkin ist offline Mitglied Bronze
    Registriert seit
    Dec 2007
    Beiträge
    36
    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:


    PHP-Code:
    Document document = new Document(PageSize.A472727272);
            
    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(
    true20);
            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.HELVETICA20));


            
    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(Buffer0, (int)FileSize);
            
    MyFileStream.Close();


            
    Response.BinaryWrite(Buffer); 
    Dank an Dich

    Krop
     

  15. #15
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    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,
    Alex
     
    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

Ähnliche Themen

  1. IIS 6 installieren
    Von Ste-Re im Forum .NET Web und Kommunikation
    Antworten: 4
    Letzter Beitrag: 07.11.07, 22:17
  2. PdfSharp
    Von SeeSharpNewBee im Forum .NET Windows Forms
    Antworten: 2
    Letzter Beitrag: 03.09.07, 09:30
  3. .deb installieren
    Von notebook20000 im Forum Linux & Unix
    Antworten: 2
    Letzter Beitrag: 03.01.07, 14:37
  4. win neu installieren
    Von affaaffa im Forum Microsoft Windows
    Antworten: 3
    Letzter Beitrag: 27.03.05, 17:47
  5. MS-DOS installieren
    Von kingkutschat im Forum Microsoft Windows
    Antworten: 4
    Letzter Beitrag: 22.08.04, 20:40