myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Grafik und Sound » Scrollbares Panel als PDF speichern
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Scrollbares Panel als PDF speichern

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Cr0$$Coder
myCSharp.de-Mitglied

Dabei seit: 30.01.2019
Beiträge: 2


Cr0$$Coder ist offline

Scrollbares Panel als PDF speichern

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo zusammen,
ich möchte ein scrollbares Panel, in dem mehrere Controls sind, als PDF speichern, um die Seite dann auszudrucken.
Leider wird nur der sichtbare Teil des Panels in die PDF gezeichnet.

C#-Code:
        private void button1_click(object sender, EventArgs e) {

            System.Drawing.Printing.PrintDocument doc = new System.Drawing.Printing.PrintDocument();
            doc.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(doc_PrintPage);
            doc.Print();
}


        private void doc_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            Panel grd = TP_Panel;

            Bitmap bmp = new Bitmap(grd.Width, grd.Height, grd.CreateGraphics());
            grd.DrawToBitmap(bmp, new Rectangle(grd.Location.X, grd.Location.Y, grd.Width, grd.Height));
            RectangleF bounds = e.PageSettings.PrintableArea;
            float factor = ((float)bmp.Height / (float)bmp.Width);
            e.Graphics.DrawImage(bmp, bounds.Left, bounds.Top, bounds.Width, factor * bounds.Width);
        }

Das Ergebnis sieht dann wie im Anhang aus..

Wäre dankbar, wenn mir jemand helfen könnte das ganze Panel als PDF zu speichern.
MfG Cr0$$Coder


Dateianhang:
unknown TestDruck.pdf (136,20 KB, 19 mal heruntergeladen)
Neuer Beitrag 30.01.2019 23:02 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 14.203
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Dein Code deckt auch nur ab, dass das aktuell gezeichnete Panel gedruckt wird - und das ist eben nur der sichtbare Teil.
So wie der Code ist vermute ich, dass Du ihn von Stack Overflow oder CodeProject hast ;-)

Der bessere Weg - eigentlich willst Du ja eine tabellarische Darstellung von Inhalten haben - wäre eigentlich ein Reporting Tool, das nicht von der UI abhängig ist.
Eines der am meisten dafür verwendeten Komponenten ist List and Label.

Du kannst das natürlich auch alles selbst machen; aber dann halt nicht über den Weg des aktuellen Inhalts eines Panels; sondern durch eigenes Zeichnen in eine Bitmap.
Neuer Beitrag 31.01.2019 00:17 Beiträge des Benutzers | zu Buddylist hinzufügen
Cr0$$Coder
myCSharp.de-Mitglied

Dabei seit: 30.01.2019
Beiträge: 2

Themenstarter Thema begonnen von Cr0$$Coder

Cr0$$Coder ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Danke für deine Antwort. Was eignet sich dafür am besten? Hab hier auf die schnelle PDFsharp gefunden.
Neuer Beitrag 31.01.2019 00:36 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als ein Jahr.
Der letzte Beitrag ist älter als ein Jahr.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 27.09.2020 18:57