PDF打印以随机顺序发生

本文关键字:顺序发生 随机 打印 PDF | 更新日期: 2023-09-27 18:08:33

我正在使用Foxit Reader(一个PDF阅读器)并通过命令行参数以程序语法打印PDF。我明白我们不能像在这个讨论中那样通过命令行指定副本的数量。

我正在开发一个win-forms桌面应用程序,用于打印PDF文档的多个副本,我使用以下代码

string foxitReaderInstalledPath = GetFoxitReaderInstalledPath();
while (noOfCopies > 0)
{
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();
noOfCopies = noOfCopies - 1;
}

当多个用户向同一打印机提供多个打印副本时,会发生此问题。问题是打印出来的文档在打印的顺序上混淆了。谁能告诉我如何避免这个问题?

许多谢谢。

PDF打印以随机顺序发生

你无法避免这个客户端…

如果你真的想避免它,用户使用的"客户端"应用程序必须将文件连同所有相关参数发送到某个"集中式服务器进程"…然后,这个"集中处理"可以"序列化"打印,使其以正确的顺序发生…

但是如果您要打印的打印机可以从用户系统访问,那么仍然可能发生用户向打印机发送一些东西(如图像或word文档…),这些东西将被打印并稍微扰乱顺序…

我认为如果你描述一下你的目标是什么,会更有意义。也许有更好的办法来解决这一切……是否实现打印服务器?

编辑-按注释:

把PDF文件的位置放在网络共享上…并在提供共享的同一台机器上运行打印代码…理想情况下,打印机直接连接到那台机器上。这应该提供足够的性能,因为只有一个中央应用程序访问打印机,它应该工作得很好……

我强烈建议使用PDF库或Acrobat阅读器,以便打印可以使用NumberOfCopies的参数!

编辑2 -根据评论:

部分PDF库:

  • 。. NET库打印PDF文件
  • http://www.gnostice.com/PDFOne_dot_NET.asp
  • http://www.gdpicture.com/products/dotnet/plugins/pdf-plugin.php
  • http://itextpdf.com/