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

    [c#] da printDocument a Bitmap

    Ciao a tutti.
    Ho un printDocument che riesco a mandare in stampa tranquillamente.
    Però oltre a stamparlo avrei anche necessità di salvarlo come immagine bitmap.
    Quindi in totale vorrei ottenere una stampa su carta (che già ho) e un'immagine identica alla pagina stampata.
    Premetto che non posso installare degli emulatori di stampanti per effettuare la stampa su file, quindi in qualche modo devo arrangiarmi da codice.
    Avevo pensato di sfruttare il metodo DrawToBitmap della PrintPreviewDialog ma con scarsi risultati, mi salva si un immagine, ma con solo il contorno della PrintPreviewDialog (completamente vuota al suo interno).
    Il codice che ho usato:
    Codice PHP:
    PrintDocument pd = new PrintDocument();
    PrintPreviewDialog dialog = new PrintPreviewDialog();
            
    pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);
            
    dialog.Document pd;
            
    dialog.Width 800;
            
    dialog.Height 600;
            
    Bitmap prova = new Bitmap(dialog.Bounds.Widthdialog.Bounds.Height);
            
    dialog.DrawToBitmap(provadialog.Bounds);
            
    prova.Save("prova.bmp"); 
    Spero che qualcuno sappia darmi una dritta.

  2. #2
    risolto:
    Ho creato un nuovo metodo
    Codice PHP:
    private void makeGraphic(Graphics gr
    in cui ho messo tutto quello che faceva inizialmente il
    Codice PHP:
    private void pd_PrintPage(object senderPrintPageEventArgs ev
    quindi ora ho:
    Codice PHP:
    private void pd_PrintPage(object senderPrintPageEventArgs ev)
        {
            
    ev.Graphics.CompositingQuality CompositingQuality.GammaCorrected;
            
    ev.Graphics.InterpolationMode InterpolationMode.HighQualityBicubic;
            
    ev.PageSettings.Margins.Right 0;
            
    makeGraphic(ev.Graphics);
            
            
    Bitmap bmp = new Bitmap(pwph);
            
    Graphics prova Graphics.FromImage(bmp);
            
    prova.Clear(Color.White);
            
    makeGraphic(prova);
            
    bmp.Save("prova.bmp");
        } 

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 © 2026 vBulletin Solutions, Inc. All rights reserved.