Print images c#.net

85,757

Solution 1

The Code below uses the PrintDocument object which you can place an image on to the printdocument and then print it.

using System.Drawing.Printing;
...
protected void btnPrint_Click(object sender, EventArgs e)
{
    PrintDocument pd = new PrintDocument();
    pd.PrintPage += PrintPage;
    pd.Print();       
}

private void PrintPage(object o, PrintPageEventArgs e)
{
    System.Drawing.Image img = System.Drawing.Image.FromFile("D:\\Foto.jpg");
    Point loc = new Point(100, 100);
    e.Graphics.DrawImage(img, loc);     
}

Solution 2

Using the location, I have this FileInfo extension method that does it:

public static void Print(this FileInfo value)
{
    Process p = new Process();
    p.StartInfo.FileName = value.FullName;
    p.StartInfo.Verb = "Print";
    p.Start();
}
Share:
85,757
Carlos Guillermo Bolaños Lopez
Author by

Carlos Guillermo Bolaños Lopez

Updated on March 19, 2020

Comments

  • Carlos Guillermo Bolaños Lopez
    Carlos Guillermo Bolaños Lopez over 4 years

    I have an image in a PictureBox, and I want to print it. No formatting, no nothing, just print it.

    I've been searching on Google but I've got nothing, only people printing forms or text or reports.

    private string imgSrc;
    
        public string ImgSrc
        {
            get { return imgSrc; }
            set { imgSrc = value; }
        }
    
        public Id_Manager()
        {
            ImgSrc = "D:\\Foto.jpg";
    
            InitializeComponent();
            idPicture.Load(this.ImgSrc);
        }
    

    Obviously the image is going to change, but for now I'm just interested in printing that image. I'm saving the url in a property just in case. Any help?

  • itsho
    itsho over 12 years
    on the last line, it should be "img", not "ing" :-)
  • itsho
    itsho over 12 years
    do NOT forget to dispose the "img" on printPage(...) otherwise, you'll be stuck on the second printing with IOException :-)