0

我们的客户有数以万计的 Word 2007 格式的信件。他们需要将所有字母组合成一个大型 PCL 文件,然后将其发送给打印供应商进行批量打印。

据我了解,PCL 内容是由特定的打印机驱动程序生成的。因此,无论是使用 Document.PrintOut() 函数中的 VBA 以交互方式还是编程方式,当调用打印到文件时,它都会将内容传递给所选/默认打印机驱动程序以输出 PCL 格式。

现在,他们有一个现有的 .NET 1.1 批处理作业,可以从这些 Word 文档中生成 PDF。他们希望使用相同的批处理作业将它们组合到那个大的 PCL 文件中。如果该过程涉及打印机驱动程序,如何以编程方式将多个 Word 文档“打印”到同一个文件?

4

3 回答 3

0

是否可以根据生成 PDF 的现有(工作!)批处理作业保留 PDF 输出?

您可以使用这些 PDF,将它们提供给 Ghostscript 命令并让 Ghostscript 输出 PCL。

您的 PDF 是单个文件,每个 Word 2007 文档一个文件吗?在这种情况下,您可以像这样运行 Ghostscript 以输出(例如)彩色 PCLXL:

gswin32c.exe ^
   -dBATCH ^
   -dNOPAUSE ^
   -dSAFER ^
   -sDEVICE=pxlcolor^
   -sOutputFile=c:/path/to/big.pcl ^
   1st.pdf ^
   second.pdf ^
   no3.pdf ^
   fourth.pdf ^
   [....]

如果 b/w PCL 足够好,则使用"-sDEVICE=pxlmono".

注意事项:我不确定您可以在一个命令行中排列的 PDF 数量的最大值是多少。如果它应该成为一个问题,我建议首先将所有 PDF 连接一个 big.pdf 中,使用pdftk.exe http://www.accesspdf.com/pdftk/):

pdftk.exe ^
   1st.pdf ^
   second.pdf ^
   no3.pdf ^
   fourth.pdf ^
   [....] ^
   cat output ^
   big.pdf         # Here: direct control over order of the files in the result

或者,简单地使用通配符:

pdftk.exe ^
   *.pdf ^
   cat output ^
   big.pdf         # Here: order of files is alphabetically

当然,这里也可能会出现一个问题,即一个命令处理的文件数量有限制。但是,使用第二种方法,首先通过几轮连接更容易构建更大的 PDF。无论如何,最后:只需将您的 big.pdf 指向 Ghostscript 即可转换为 PCL/XL。

于 2010-07-06T23:28:57.970 回答
0

我同意 pipitas 的观点,即现有流程的可行解决方案可以很好地工作。根据他们保存为 Word 格式的方式,您可以通过使用“另存为”功能可编程性来保存为 PDF 格式来改进它。

我会将我的代码内联,但这有点乱,只需在 Google 中搜索Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF,您应该会看到很多这样的示例。

另一个更符合您要求的想法是设置通用 PCL 打印机驱动程序(HP LaserJet 4000 或类似产品)和可编程性打开每个文档并打印到默认打印机。诀窍是将这些写入文件。这可以通过几种方式完成。

使用Redmon或类似的东西允许在没有任何用户干预的情况下输出到文件。我们有一个适用于 XP, 2003 的工具,它允许附加到我们在非常相似的情况下使用过的文件,我们每天需要将 9000 个打印作业连接在一起(如果您感兴趣,我可以发送一个链接)。

另一种是使用或编写一个快速捕获工具,在端口 9100(或 LPR 的 515)上捕获数据并将该数据写入文件。该应用程序成为打印机,然后您就可以离开了。

如果您想要提到的项目的任何代码,请添加评论,我可以将它们粘贴进去。

于 2010-07-23T12:59:52.853 回答
0

大多数人都急于将 PCL 转换为 PDF,因为他们不知道有可以索引、排序、合并和编辑 PCL 打印流的工具。他们知道有 PDF 文件,但没有 PCL。

如果您打印为 PDF,您将失去 PCL 中的纸张处理功能。如果您只是连接 PCL 文件,您可能无法以正确的排序顺序获得它们,并且您可能需要插入 OMR 标记/条形码以用于插入或折叠设备等。

PCLTool SDK - 选项 V,它是 PCLXForm.exe 的许可证。PCLXForm 是一个 Windows 控制台程序,具有强大的脚本编程语言,具有命令行覆盖和运行时包含功能。SDK 附带的 Port Monitor 和 HotDir 打印捕获实用程序可以捕获、重定向和累积多个打印流。但是,它也可以查看它们内部并确定它们需要的正确顺序,将它们转换为 PCL。(或者,带有书签、内部/外部索引、与其他文档合并等的 PDF)。它还可以将文档分类为1-7页、8-15页等文件夹。并且,适当的 OMR/条形码用于邮寄设备或插入徽标以使文档更像 TransPromo。该演示位于 www.pagetech.com

于 2010-12-31T17:55:05.880 回答