PrintDocument只是打印我的JPG文件的一部分

本文关键字:文件 一部分 JPG 我的 打印 PrintDocument | 更新日期: 2023-09-27 18:14:53

我创建了一个允许用户打印多个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。我该怎么做呢?

PrintDocument只是打印我的JPG文件的一部分

这可能会解决问题。

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);