【问题标题】:Printing Multiple PDF Files In Order In VB.NET在 VB.NET 中按顺序打印多个 PDF 文件
【发布时间】:2012-05-24 00:52:42
【问题描述】:

我在使用以下代码发送打印命令时遇到了许多 PDF 文件的问题:

For i As Int32 = 1 To qtyToPrint Step 1
   'calls the process for the printing of the pdf files
   Dim myProcess As Process = New Process
   myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
   myProcess.StartInfo.FileName = fileToPrint
   myProcess.StartInfo.Verb = "Print"
   myProcess.StartInfo.UseShellExecute = True
   myProcess.Start()
   myProcess.WaitForExit()
Next

它打印得很好,只是它的顺序不正确。我设法以正确顺序获得它的唯一方法是添加一个计时器并检查打印队列中是否有任何作业,这确实会减慢打印过程,尤其是在创建 500 多个打印作业时。

我想知道是否有更好的方法来打印这些文件,它可以快速打印到哪里并且仍然是有序的。我想到的几件事,但不确定是否可能,是创建一个文本文件或 XML 文件,其中包含要打印的文件列表和数量并将打印机从该列表中排入队列,或者将 PDF 文件转换为 XPS 文档和然后使用 PrintQueue 类将 XPS 文件添加为打印作业。

任何帮助将不胜感激!

【问题讨论】:

  • 您通过调用 Sell 间接启动了 500 多个 Adob​​e Acrobat 实例,想知道为什么它们没有按照您启动它们的顺序全部打印?在任何情况下,WaitForExit 都会等待 Shell 命令完成,而不是等待 Acrobat 实例关闭

标签: vb.net pdf printing batch-file


【解决方案1】:

更好的选择可能是使用 PDF 库将所有​​ pdf 合并到一个文件中,然后通过库或使用相同的方法打印该单个文件。这样,您只有一个打印作业,并且您可以控制文档添加到大 PDF 的顺序。

【讨论】:

  • 感谢您的建议。我使用开源库 iTextSharp 将所有 PDF 文件合并为一个,然后打印一个文件,现在它似乎可以正常工作。打印速度极快且井然有序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-26
  • 1970-01-01
  • 2017-12-07
  • 1970-01-01
  • 2019-05-18
  • 1970-01-01
  • 2013-07-31
相关资源
最近更新 更多