PDF aus Form generieren

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von weedl89.

    PDF aus Form generieren

    Hallo zusammen,

    ich arbeite derzeit an einem kleinen Tool das mehr oder weniger nur als ein Formular zum erfassen von Daten dienen soll.

    Jetzt zu meinem Problem. Ich möchte die Daten in den Textboxen schön angeordnet in ein PDF schreiben und ausdrucken.

    Kann mir bitte jemand sagen, wie ich den Inhalt der Textboxen in das PDF bekomme und positionieren / formatieren kann?



    Ich bin dankbar für jeden Tipp.


    Viele Grüße

    Weedl89
    Willkommen im Forum. :thumbup:
    Vielleicht ist es sinnvoll, Du nutzt ein PrintDocument und einen PrintPreviewDialog.
    Im PrintPage-Event des PrintDocuments malst Du Dein Formular und fertig.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hi und danke für die schnelle antwort.

    Ich habe mit PrintDocument und PrintPreviewDialog leider noch nie gearbeitet.

    Kannst Du mir das etwas näher bringen? Kann ich da auch eine art vorlage erstellen, die dann immer verwenden und nur ein paar textfelder ersetzen?

    Ich wäre Dir sehr dankbar wenn du mir das kurz erklären könntest.

    PS: Kennst du dich mit access datenbankanbindung aus? Hätte da nämlich auch noch ein kleines problem. ;)
    Im Designer:
    Button1, PrintPreviewDialog1, PrintDocument1 reinziehen
    Property festlegen : PrintPreviewDialog1.Document = PrintDocument1
    Event generieren: PrintDocument1.PrintPage; Button1.Click

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    3. PrintPreviewDialog1.ShowDialog()
    4. End Sub
    5. Private Sub PrintDocument1_PrintPage(sender As System.Object, e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
    6. e.Graphics.DrawString("blabla", New Font("Arial", 20), Brushes.Black, New Point(30, 20))
    7. e.Graphics.DrawImage(New Bitmap("C:\Temp\Test.jpg"), New Point(30, 50))
    8. e.HasMorePages = False
    9. End Sub
    10. End Class
    Bilder
    • Print.jpg

      21,73 kB, 422×496, 116 mal angesehen
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    VB.NET-Quellcode

    1. e.Graphics.DrawString("blabla1", New Font("Arial", 20), Brushes.Black, New Point(30, 20))
    2. e.Graphics.DrawString("blabla2", New Font("Arial", 20, FontStyle.Bold Or FontStyle.Underline), Brushes.Black, New Point(30, 40))
    Ansonsten musst Du Strings zusammensetzen, dafür kannst Du Graphics.MeasureString verwenden:

    VB.NET-Quellcode

    1. Dim SizeText As SizeF = e.Graphics.MeasureString(txt, font)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!