Frage zum Drucken und Seitengröße

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von StormySunshine.

    Frage zum Drucken und Seitengröße

    Hallo,

    brauche eure Hilfe. Ich versuche mich zum ersten mal an den Druckeinstellungen, Papiergröße und Querformat.

    Leider jedoch, werden meine Vorgaben völlig außer acht gelassen, bzw. wie in meinem unteren Code wird nichts mehr gedruckt und die Vorgaben außer acht gelassen.

    Habe auch schon bisserl daran rungefummelt, also Position im Code verändert usw.
    Aber irgendwie funzelt das ned.

    Habt Ihr ne Idee, was ich da falsch gemacht habe...?

    VB.NET-Quellcode

    1. Imports System.Drawing
    2. Imports System.Drawing.Printing
    3. Public Class Druck_Mappenetikett
    4. Private WithEvents PrintDialog1 As New PrintDialog
    5. Private WithEvents PrintDocument1 As New System.Drawing.Printing.PrintDocument
    6. Public Sub DruckBeginnen()
    7. Dim LabeldruckerPaperSize As New PaperSize("Customsize", 2.4409, 3.937) 'Papiergröße 62 x 100 mm
    8. PrintDialog1.Document = PrintDocument1
    9. If PrintDialog1.ShowDialog() = DialogResult.OK Then
    10. PrintDocument1.DefaultPageSettings.PaperSize = LabeldruckerPaperSize
    11. PrintDocument1.DefaultPageSettings.Landscape = True
    12. PrintDocument1.Print()
    13. End If
    14. End Sub
    15. Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As PrintPageEventArgs) Handles PrintDocument1.PrintPage
    16. Dim g As Graphics = e.Graphics
    17. g.PageUnit = GraphicsUnit.Millimeter
    18. g.DrawString("mein testdruck", New Font("Arial", 20, FontStyle.Regular, GraphicsUnit.Pixel), Brushes.Black, New Point(10, 10))
    19. End Sub
    20. End Class
    @michl75:: Ich hab mal den Print-Dialog weggelassen und dafür den PreviewDialog reingenommen.
    Was genau macht er bei Dir nicht?

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    3. PrintDocument1.DefaultPageSettings.Landscape = True
    4. Me.PrintPreviewDialog1.ShowDialog()
    5. End Sub
    6. Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As PrintPageEventArgs) Handles PrintDocument1.PrintPage
    7. Dim g As Graphics = e.Graphics
    8. g.PageUnit = GraphicsUnit.Millimeter
    9. g.DrawString("mein testdruck", New Font("Arial", 20, FontStyle.Regular, GraphicsUnit.Pixel), Brushes.Black, New Point(10, 10))
    10. End Sub
    11. End Class
    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!
    ja das im Querformat funktioniert, aber das Papersize hat nicht hin.

    wenn ich es so mache:

    VB.NET-Quellcode

    1. Dim psize As New PaperSize("Label", 2.4409, 3.937) 'Papiergröße 62 x 100 mm
    2. PrintDocument1.DefaultPageSettings.PaperSize = psize
    3. PrintDocument1.DefaultPageSettings.Landscape = True
    4. PrintPreviewDialog1.Document = PrintDocument1
    5. PrintPreviewDialog1.ShowDialog()
    6. End Sub


    kommt Fehler "unbekannter Parameter" ... siehe Bild. Dies liegt wohl an dem Papersize...
    Aber so müsste es dich funktionieren, so habe ich es zumindest aus Google&co usw. heraus verstanden...
    Bilder
    • 0001.PNG

      17,83 kB, 850×147, 195 mal angesehen