PrintDocument 只打印我的 JPG 文件的一部分
PrintDocument just prints some part of my JPG file
我创建了一个允许用户打印多个 jpg 文件的应用程序。所以我直接发送我的打印请求,像这样:
if (existfile == true)
{
PrinterSettings a=new PrinterSettings();
PrintDocument pd = new PrintDocument();
IEnumerable<PaperSize> size = a.PaperSizes.Cast<PaperSize>();
PaperSize a4 = size.First<PaperSize>(i => i.Kind == PaperKind.A4);
pd.DefaultPageSettings.Landscape = true;
pd.DefaultPageSettings.PaperSize = a4;
pd.PrintPage += PrintPage;
pd.Print();
}
打印函数:
private void PrintPage(object o, PrintPageEventArgs e)
{
System.Drawing.Image img = System.Drawing.Image.FromFile(CurrentAddress);
Point loc = new Point(100, 100);
e.Graphics.DrawImage(img, loc);
}
但是这段代码只打印了我图像的一部分,而不是全部。我想打印它们 scale to fit
。我该怎么做?
这可能会解决问题。
e.Graphics.DrawImage(img, e.MarginBounds);
或
e.Graphics.DrawImage(img, e.PageBounds);
或
ev.Graphics.DrawImage(Image.FromFile("C:\My Folder\MyFile.bmp"), ev.Graphics.VisibleClipBounds);
我创建了一个允许用户打印多个 jpg 文件的应用程序。所以我直接发送我的打印请求,像这样:
if (existfile == true)
{
PrinterSettings a=new PrinterSettings();
PrintDocument pd = new PrintDocument();
IEnumerable<PaperSize> size = a.PaperSizes.Cast<PaperSize>();
PaperSize a4 = size.First<PaperSize>(i => i.Kind == PaperKind.A4);
pd.DefaultPageSettings.Landscape = true;
pd.DefaultPageSettings.PaperSize = a4;
pd.PrintPage += PrintPage;
pd.Print();
}
打印函数:
private void PrintPage(object o, PrintPageEventArgs e)
{
System.Drawing.Image img = System.Drawing.Image.FromFile(CurrentAddress);
Point loc = new Point(100, 100);
e.Graphics.DrawImage(img, loc);
}
但是这段代码只打印了我图像的一部分,而不是全部。我想打印它们 scale to fit
。我该怎么做?
这可能会解决问题。
e.Graphics.DrawImage(img, e.MarginBounds);
或
e.Graphics.DrawImage(img, e.PageBounds);
或
ev.Graphics.DrawImage(Image.FromFile("C:\My Folder\MyFile.bmp"), ev.Graphics.VisibleClipBounds);