如何指定打印机和要打印的页数,这是我的代码,它打印pdf文件中的所有页面,也始终使用默认打印机。
private void printPDFFile(string fileName)
{
PrintDialog pd = new PrintDialog();
pd.PrinterSettings = new PrinterSettings();
if (DialogResult.OK == pd.ShowDialog(this))
{
Process proc = new Process();
pd.PrinterSettings.FromPage = 1;
pd.PrinterSettings.ToPage = 2;
pd.PrinterSettings.PrintRange = PrintRange.SomePages;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; //Hide the window.
proc.StartInfo.FileName = @"C:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe";
proc.StartInfo.Arguments = "-p \""+ fileName+ "\" \"" +pd.PrinterSettings.PrinterName+"\"";
proc.StartInfo.CreateNoWindow = true;//!! Don't create a Window.
proc.Start();
proc.CloseMainWindow();
}
}
答案 0 :(得分:1)
打印不是用C#完成的,而是来自福昕阅读器。
查看its manual (pdf)以了解控制所需内容的选项。使用-t <Printer>
打印到特定的打印机。您似乎无法打印特定页面,请尝试将-t
与-n
合并。