none
Frage bzgl. XGraphics (PDF-Datei unter erstellen) RRS feed

  • Frage

  • Hallo,

    ich habe das Beispiel aus http://silverpdf.codeplex.com/ genommen um eine PDF-Datei zu erstellen und es funktioniert auch wunderbar:

    void GenerateAndSavePDF_Button_Click(object sender, RoutedEventArgs e)
    {
        SaveFileDialog d = new SaveFileDialog();
        d.Filter = "PDF file format|*.pdf";
    
        if (d.ShowDialog() == true)
        {
             PdfDocument document = new PdfDocument();
    
             PdfPage page = document.AddPage();
    
             XGraphics gfx = XGraphics.FromPdfPage(page);
    
             XPdfFontOptions options = new XPdfFontOptions(PdfFontEncoding.Unicode, PdfFontEmbedding.Always);
    
             XFont font = new XFont("Huxtable", 20, XFontStyle.Bold, options);
    
             gfx.DrawString(text1.Text, font, XBrushes.Black,
                 new XRect(0, 0, page.Width, page.Height),
                 XStringFormats.Center);
    
             document.Save(d.OpenFile());
        }
    }


    Jetzt würde ich gerne wissen ob ich dem XGraphics aus dem Beispiel statt einen Text auch einen erstellte ChildWindow übergeben, damit es als PDF-Datei gespeichert werden kann?


    Gruesse, NUNUI

    Freitag, 19. September 2014 08:36

Antworten

  • Hallo Tobi,

    ich habe das Ganze wie folgt gelöst, ich lasse die Seite, was ich als PDF darstellen will zum Drucker schicken und dann per FreePDF erzeuge ich daraus eine PDF-Datei und so stimmt auch mit der Auflösung und die ganze Tabelle, was nicht vollständig auf dem Bildschirm gezeigt wurde, wird aber in der PDF-Datei angezeigt.

    Hoffe, dass ich damit Dir weiterhelfen könnte!


    Gruesse, NUNUI

    Montag, 18. Mai 2015 08:12

Alle Antworten

  • Hallo,
    wie bitte willst du ein Fenster in eine PDF Datei bekommen? Du könntest es vielleicht zu einem Bild rendern und so zu sagen einen Screenshot erzeugen, wie das geht erfährst du hier.

    Was das einfügen in das PDF Dokument angeht, so verfügt das XGraphics Objekt auch üpber eine DrawImage Methode.


    Tom Lambert - C# MVP
    Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    Freitag, 19. September 2014 15:26
  • Danke für den Tip.

    Ich habe auch das Beispiel gefunden: http://silverlightpdf.codeplex.com/ und habe es auch in meinem Projekt eingebaut und es funktioniert soweit alles super. Nur das einzige Problem ist, dass die Qualität nicht so gut ist.

    Irgendwie bin ich nicht so richtig schlau daraus geworden, ob man die Auflösung irgendwie erhöhen kann, so dass die Qualität besser wird?


    Gruesse, NUNUI

    Freitag, 19. September 2014 16:28
  • Hi, 

    hast du im vergangenen Jahr noch eine Lösung gefunden?

    Wäre interessiert wie du es nun gerendert / gespeichert hast.

    LG, Tobi


    Best Regards. When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer. This helps us build a healthy and positive community.

    Montag, 18. Mai 2015 07:51
  • Hallo Tobi,

    ich habe das Ganze wie folgt gelöst, ich lasse die Seite, was ich als PDF darstellen will zum Drucker schicken und dann per FreePDF erzeuge ich daraus eine PDF-Datei und so stimmt auch mit der Auflösung und die ganze Tabelle, was nicht vollständig auf dem Bildschirm gezeigt wurde, wird aber in der PDF-Datei angezeigt.

    Hoffe, dass ich damit Dir weiterhelfen könnte!


    Gruesse, NUNUI

    Montag, 18. Mai 2015 08:12