How to print a full size image in c#
11,128
look at the code from this below for a good example this code is from this link below Print Image in C#
private void PrintImage()
{
PrintDocument pd = new PrintDocument();
pd.DefaultPageSettings.Margins = new Margins(0, 0, 0, 0);
pd.OriginAtMargins = false;
pd.DefaultPageSettings.Landscape = true;
pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
printPreviewDialog1.Document = pd;
printPreviewDialog1.ShowDialog();
//pd.Print();
}
void pd_PrintPage(object sender, PrintPageEventArgs e)
{
double cmToUnits = 100 / 2.54;
e.Graphics.DrawImage(bmIm, 100, 1000, (float)(15 * cmToUnits), (float)(10 * cmToUnits));
}
private void button5_Click(object sender, EventArgs e)
{
PrintImage();
}
Related videos on Youtube
![jle](https://i.stack.imgur.com/ksuyd.jpg?s=256&g=1)
Author by
jle
Updated on June 17, 2022Comments
-
jle about 2 years
I am trying to print an image in C#. It is a full 8.5x11 size tiff created by Adobe Acrobat from a PDF. When I print it with C# using the code below, it prints correct vertically, but not horizontally, where it is pushed over about a half inch. I set the origin of the image to 0,0. Am I missing something?
private FileInfo _sourceFile; public void Print(FileInfo doc, string printer, int tray) { _sourceFile = doc; PrintDocument pd = new PrintDocument(); pd.PrinterSettings.PrinterName = printer; pd.DocumentName = _sourceFile.FullName; using (Image img = Image.FromFile(_sourceFile.FullName)) { if (img.Width > img.Height) { pd.DefaultPageSettings.Landscape = true; } } pd.PrintPage += PrintPage; foreach (PaperSource ps in pd.PrinterSettings.PaperSources) { if (ps.RawKind == tray) { pd.DefaultPageSettings.PaperSource = ps; } } pd.Print(); } private void PrintPage(object o, PrintPageEventArgs e) { using (System.Drawing.Image img = System.Drawing.Image.FromFile(_sourceFile.FullName)) { Point loc = new Point(0, 0); e.Graphics.DrawImage(img, loc); } }