打印pdf的多个副本

时间:2011-09-12 04:32:01

标签: c# .net pdf printing

我目前正在使用以下代码使用Foxit Reader软件打印pdf。现在我的问题是我想要打印文件的多个副本。任何人都可以让我知道如何在下面的代码中打印pdf时指定副本数量。

[编辑] 我不想使用循环来打印pdf的多个副本。我想仅将其指定为命令行参数。

任何帮助非常感谢:)

Process process = new System.Diagnostics.Process();
process.EnableRaisingEvents = false;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.FileName = foxitReaderInstalledPath;
string arguments = String.Format(@"-t ""{0}"" ""{1}""", this.Path, printerName);
process.StartInfo.Arguments = arguments;
process.Start();
process.WaitForExit();

2 个答案:

答案 0 :(得分:5)

根据Foxit手册,除了循环(您不想使用)之外,没有其他选择可以做你想要的。

要么使用一些用于.NET的PDF库 - 那里有很多免费和商业版本(例如参见.NET library to print PDF files) - 或者你使用例如Acrobat reader进行打印(IIRC它有一个命令行切换到实现你想要的......)

答案 1 :(得分:3)

把它放在循环中。您可以随时操纵终止该过程。 把它放在Arguments中会很好,但我不认为FoxIt支持我所知道的。

int numberOfCopies = 2;
Process process = new System.Diagnostics.Process();

for (int i = 1; i <= numberOfCopies; i++)
    {
            process.EnableRaisingEvents = false;
            process.StartInfo.CreateNoWindow = true;
            process.StartInfo.FileName = foxitReaderInstalledPath;
            string arguments = String.Format(@"-t ""{0}"" ""{1}""", this.Path, printerName);
            process.StartInfo.Arguments = arguments;
            process.Start();
    }