代码之家  ›  专栏  ›  技术社区  ›  icelava

将数千字的文档转换为单个PCL文件

  •  0
  • icelava  · 技术社区  · 14 年前

    ,然后发送给打印供应商进行批量打印。

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

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

    3 回复  |  直到 14 年前
        1
  •  0
  •   Kurt Pfeifle    14 年前

    它是一个选项,以保持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连接起来 第一 变成一个大的。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
    

        2
  •  0
  •   Douglas Anderson    14 年前

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

    我把我的代码内联,但它有点乱,只需搜索谷歌 Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF

    另一个更符合您要求的想法是,设置一个通用PCL打印机驱动程序(HP LaserJet 4000或类似),并可编程打开每个文档,然后打印到默认打印机。诀窍是将它们写入文件。这可以通过两种方式实现。

    Redmon 或者类似的东西,允许输出到文件而无需任何用户干预。我们有一个在XP,2003上运行的工具,它允许附加到我们在一个非常类似的实例中使用的文件,我们需要将每天9000个打印作业连接在一起(如果您感兴趣,我可以发送一个链接)。

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

        3
  •  0
  •   Bob Pooley    14 年前

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

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

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