C# Problema nella stampa C#

D4v1d_MoDz

Utente Electrum
1 Febbraio 2015
149
51
7
148
Salve a tutti,
Da poco sto sviluppando un programmino che esegue la stampa di uno scontrino. PS: Ho preso spunto da un programma che ha mia madre nel negozio.
Il codice è:
C#:
private void printDocument_printPage(object obj,PrintPageEventHandler e)
{
    e.Graphic.DrawString("Ciao," ecc.......);
}
poi dal bottone mando il comando: printDocument.Print();
La stampante che ho utilizzato è la stessa che utilizza il programma da dove ho preso spunto.
il problema è che col mio programma quando lo stampo si crea uno spazio dall'inizio di foglio fino alla scritta un po grande.
Invece col programma di mia madre no!
Come posso fare per non far creare questo spazio??
 
Presumo che questa libreria abbia anche delle impostazioni per definire le dimensioni del foglio su cui stampare.
Dai un'occhiata alla documentazione, potresti trovare un esempio di configurazione.
Comunque senza il nome della libreria è difficile aiutare.
 
Presumo che questa libreria abbia anche delle impostazioni per definire le dimensioni del foglio su cui stampare.
Dai un'occhiata alla documentazione, potresti trovare un esempio di configurazione.
Comunque senza il nome della libreria è difficile aiutare.
ma quale nome della galleria??
io sto utilizzando una funzione già presente in visual studio("PrintDocument")!
 
ma quale nome della galleria??
io sto utilizzando una funzione già presente in visual studio("PrintDocument")!
Tralasciando che PrintDocument è una classe appartenente allo spazio dei nomi System.Drawing.Printing e non una funzione,
questa classe ha delle proprietà, tra cui DefaultPageSettings che dovrebbe fare al caso tuo. Prova a vedere qui: LINK, se non riesci a risolvere posta la parte di codice che ti aiutiamo. Non ti fornisco subito la soluzione perché imparare a leggere la documentazione è molto importante
 
  • Mi piace
Reazioni: Kolo93
Tralasciando che PrintDocument è una classe appartenente allo spazio dei nomi System.Drawing.Printing e non una funzione,
questa classe ha delle proprietà, tra cui DefaultPageSettings che dovrebbe fare al caso tuo. Prova a vedere qui: LINK, se non riesci a risolvere posta la parte di codice che ti aiutiamo. Non ti fornisco subito la soluzione perché imparare a leggere la documentazione è molto importante
Il fatto è che gia provai mettendo grandezze personalizzate, pero lo stesso non andava, per esempio mettevo height 15 e widht 200 ma mi faceva sempre prima lo spazio enorme poi la larghezza e altezza messa da me!
 
Il fatto è che gia provai mettendo grandezze personalizzate, pero lo stesso non andava, per esempio mettevo height 15 e widht 200 ma mi faceva sempre prima lo spazio enorme poi la larghezza e altezza messa da me!
Non ho mai usato quella libreria quindi ti rispondo piuttosto a caso. Però, hai provato a mettere valori di height e width negativi??
Comunque, se ti va, puoi postare la parte di codice che si occupa della stampa?
 
Non ho mai usato quella libreria quindi ti rispondo piuttosto a caso. Però, hai provato a mettere valori di height e width negativi??
Comunque, se ti va, puoi postare la parte di codice che si occupa della stampa?
Comunque mettendo valori negativi non si risolve.

Questo è il codice:
C#:
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
        {
            Pen p = new Pen(Brushes.Black, 2);
            Font titolo_font = new Font("MV Boli", 17, FontStyle.Bold);
            Font capi = new Font("MV Boli", 14);
            int lun = Convert.ToInt32((labNomeCognome.Text.Length * titolo_font.Size));
            PointF centro = new PointF(125 - (lun/2), 0);
            float cen_Screen = 125f;
            float spazio_text = 25f;
            float ypos = 0;
            e.PageSettings.PrinterSettings.PrinterName = nomeStampante;
            e.PageSettings.PaperSize = new PaperSize("Pagina", -200, -63);
            e.Graphics.DrawString(labNomeCognome.Text, titolo_font, Brushes.Black, centro);
}