Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [VB.NET]Stampa con PrintDocument e formato foglio custom

    Dovrei poter stampare su di un bollettino di conto corrente postale. Le dimensioni sono 102x297mm, pertanto ho provato ad impostare:

    codice:
    Dim PrintPreviewDialog1 As New PrintPreviewDialog
    PrintDocument1.DefaultPageSettings.Landscape = False
    Dim ps As Printing.PaperSize = New Printing.PaperSize("bollettino", 102, 297) 
    PrintDocument1.DefaultPageSettings.PaperSize = ps
    
    PrintPreviewDialog1.Document = PrintDocument1
    e poi nella PrintDocument1_PrintPage ho impostato:
    codice:
     e.Graphics.PageUnit = GraphicsUnit.Millimeter
    ma, se vado a vedere l'anteprima di stampa col programma della stampante che attualmente sto utilizzando(Canon) mi dice che il formato della pagina è "Personalizzato 89x120mm".
    Ovviamente la stampa non va bene...sapreste dirmi dov'è che sbaglio?

  2. #2
    Costruttore PaperSize (String, Int32, Int32)
    width
    Tipo: System.Int32

    Larghezza della carta in centesimi di pollice.

    height
    Tipo: System.Int32

    Altezza della carta in centesimi di pollice.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Con il codice:
    [CODE]PrintDocument1.DefaultPageSettings.Landscape = True
    ComboBox1.DisplayMember = "PaperName"

    Dim pkSize As Printing.PaperSize
    For i = 0 To PrintDocument1.PrinterSettings.PaperSizes.Count - 1
    pkSize = PrintDocument1.PrinterSettings.PaperSizes.Item(i)
    ComboBox1.Items.Add(pkSize)
    Next

    ' Create a PaperSize and specify the custom paper size through the constructor and add to combobox.
    Dim pkCustomSize1 As New Printing.PaperSize("Custom Paper Size", 102, 297)
    PrintDocument1.DefaultPageSettings.PaperSize = pkCustomSize1
    ComboBox1.Items.Add(pkCustomSize1)

    PrintPreviewDialog1.Document = PrintDocument1

    PrintPreviewDialog1.WindowState = FormWindowState.Maximized
    'PrintPreviewDialog1.TopMost = True
    PrintPreviewDialog1.Show()
    PrintPreviewDialog1.Focus()[/
    CODE]

    All'esempio MSDN ho aggiunto le parti in rosso, ma non mi crea una pagina con le dimensioni personalizzate.

    Nella PrintDocument1_PrintPage ho impostato e.Graphics.PageUnit = GraphicsUnit.Millimeter, ma questo non dovrebbe interferire con le dimensioni del foglio.

    Hai idea di cosa possa essere?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.