指定要在C#中打印的页数

时间:2011-06-16 14:50:01

标签: c# .net pdf printing

如何指定打印机和要打印的页数,这是我的代码,它打印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();
        }
    }  

1 个答案:

答案 0 :(得分:1)

打印不是用C#完成的,而是来自福昕阅读器。

查看its manual (pdf)以了解控制所需内容的选项。使用-t <Printer>打印到特定的打印机。您似乎无法打印特定页面,请尝试将-t-n合并。