English 中文(简体)
按预期印发印刷图像
原标题:Issue printing image as expected

我有一个图像,我试图打印到法律的尺寸。然而,对此有一些挑战。

  1. The image will vary in size. This is because I m using a control that has limited print options but can export to an image.
  2. I want to maximize the print area on the page. Smallest margin possible
  3. The user needs to be able to select a printer and set options

这里我使用的代码是:

 PrintDocument pd = new PrintDocument();
            pd.PrintPage += (sender, args) =>
            {
                Image i = Image.FromFile(Globals.TempDirectory + @"	emp.jpg");
                Point p = new Point(100, 100);
                Margins margins = new Margins(50, 50, 50, 50);
                pd.DefaultPageSettings.Margins = margins;
                args.Graphics.DrawImage(i, p);
            };
            pd.Print();

由于我无法设置边距, 也无法获得正确的打印。 我希望它能合法打印, 但当我打印图像时, 它没有正常旋转, 只是打印到默认的打印机上。 我愿意做任何事来让它工作 。

问题回答

用 C # 打印烂透了

尝试

printdialog() 

允许用户选择打印机和设置。一旦您得到打印机和设置可以工作,其余部分可以单击。

编辑: 显示您在哪里以及如何使用它 。

PrintDialog pDialog = new PrintDialog();
if (pDialog.ShowDialog() == DialogResult.OK)
{
   pd.PrinterSettings = pDialog.PrinterSettings;
   pd.Print();
}




相关问题
Bring window to foreground after Mutex fails

I was wondering if someone can tell me what would be the best way to bring my application to the foreground if a mutex was not able to be created for a new instance. E.g.: Application X is running ...

How to start WinForm app minimized to tray?

I ve successfully created an app that minimizes to the tray using a NotifyIcon. When the form is manually closed it is successfully hidden from the desktop, taskbar, and alt-tab. The problem occurs ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

Handle DataTable.DataRow cell change event

I have a DataTable that has several DataColumns and DataRow. Now i would like to handle an event when cell of this DataRow is changed. How to do this in c#?

Apparent Memory Leak in DataGridView

How do you force a DataGridView to release its reference to a bound DataSet? We have a rather large dataset being displayed in a DataGridView and noticed that resources were not being freed after the ...

ALT Key Shortcuts Hidden

I am using VS2008 and creating forms. By default, the underscore of the character in a textbox when using an ampersand is not shown when I run the application. ex. "&Goto Here" is not ...

WPF-XAML window in Winforms Application

I have a Winforms application coded in VS C# 2008 and want to insert a WPF window into the window pane of Winforms application. Could you explain me how this is done.

热门标签