画像ファイルをプリンターで A4 サイズの用紙に印刷するプログラムを作成しようとしています。(画像はA4に縮尺しています)これは現在私が使用しているコードです。
Function.cs
Image tmp;
public void PrintImage(string FileName)
{
tmp = Image.FromFile(FileName);
PrintDocument printDoc = new PrintDocument();
printDoc.DocumentName = "My Print Document";
printDoc.PrintPage += new PrintPageEventHandler(OnPrintPage);
// Send print message
Console.WriteLine("Sending Print Message...");
try
{
printDoc.Print();
}
catch(Exception)
{
Console.WriteLine("Error: No Printer Installed");
}
//
// Event Handler
//
}
private void OnPrintPage(object sender, PrintPageEventArgs ppea)
{
Console.WriteLine("Printing...");
Graphics g = ppea.Graphics;
g.DrawImage(tmp,0,0);
}
Main.cs
string ReceiptFilePath = "C:\\Receipt.jpg"; // The Image I want to print.
private void button1_Click(object sender, EventArgs e)
{
functions.PrintImage(ReceiptFilePath);
}
上記のコードを使用すると、印刷できますが、A4 サイズではなく、ほぼ 400% 拡大されています。コードをどのように変更すればよいですか?