我有一个选项,用户可以选择打印选项,它将打开PrintDialog
,用户可以在其中选择已定义的打印机配置文件。使用选定的打印机配置文件/页面大小打印文件
对于此打印机,默认纸张尺寸为A4,但选择此配置文件时,它将变为A5。
我使用下面的代码将打印任务发送到正确的打印机,但由于它总是以A4打印,因此没有选择正确的纸张尺寸。我在这里错过了什么,或者有没有其他方法来实现这一目标?
using (var pd = new PrintDialog())
{
if (pd.ShowDialog() == DialogResult.OK)
{
var info = new ProcessStartInfo(filepath)
{
Arguments = "\"" + pd.PrinterSettings + "\"",
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden,
UseShellExecute = true,
Verb = "Print"
};
Process.Start(info);
}
}
这是过度不可能的任何程序与* *的文件路径将会欣赏那些你传递参数有关。一般来说,任何实现Print动词的程序都会自行决定使用哪种纸张。几乎总是在控制面板中配置的默认选择。 –
看起来很像打印驱动程序的默认配置选项对话框,但您似乎将其作为单独的进程打开。您是否正在尝试制作更改默认打印机设置的程序? 换句话说,我很困惑你到底想要做什么。 S. Hooley的答案演示了从您的应用程序中实际打印页面的常用方法。我相信它可以与PrintDialog一起使用,以允许用户调整打印设置。 TLDR:请详细说明您正在尝试做什么。 – ashbygeek