我有一個選項,用戶可以選擇打印選項,它將打開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