указание количества страниц для печати в C # - PullRequest
1 голос
/ 16 июня 2011

как я могу указать принтер и количество страниц для печати, вот мой код, который печатает все страницы в файле 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 Ответ

1 голос
/ 16 июня 2011

Печать выполняется не в C #, а из Foxit Reader.

Посмотрите в его руководстве (pdf) , чтобы узнать, какие параметры вам нужны.Используйте -t <Printer> для печати на определенном принтере.Кажется, вы не можете напечатать определенную страницу, попробуйте объединить -t с -n.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...