【问题标题】:Server side printing of PDF files over the network installed Printers通过网络安装的打印机服务器端打印 PDF 文件
【发布时间】:2012-11-30 02:54:02
【问题描述】:

浏览了有关该主题的现有帖子,但我的要求有些不同。

在客户端浏览器中执行操作后,通过网络安装的打印机打印作业。 Web 服务器已将所有打印机放入其中,根据客户端数据,我们需要立即使用客户端给定的配置进行打印,将作业发送到打印机(可能是不同的位置 - 但这不是问题,因为打印机在同一个网络)。我见过打印架构、Win32_print 类、SNMP、System.drawing.Printing、System.Printing.... 但找不到实现这一点的方法.. (Asp.net,C#)

-文件已经存在于服务器文件夹中,我只需要拿起并发送到带有客户端选择配置的打印机...

更新:我必须使用 JDF 方法,因为所有文件都是 PDF 文件。我能够使用选定的配置创建 JDF 文件,但是将此 JDF 发送到打印机(启用 JDF)让我很难...有 JMF 将 JDF 发布到打印机,但不知道如何实现它..仍在寻找方法,如果有人对此有所帮助,那就太好了。

【问题讨论】:

  • 这些是什么文件?它们是最终形式(例如 PostScript),还是您需要某种程序在将它们发送到打印机之前生成可打印输出?
  • 您好 John,感谢您调查此问题。文件是PDF。是的,我需要编写一个程序来生成可打印的输出副本并将其静默发送到打印机,可能我还需要显示打印进度。
  • 您应该“询问”Adobe 如何让程序启动 Acrobat Reader 来打印文件。然后,调整该技术以在 Web 应用程序中运行。获得印刷进展将是另一回事;向用户显示进度是另一回事。
  • @JohnSaunders 我确实通过使用 acrobat reader exe 实现了使用带参数的进程,我能够成功打印,但挑战无法将打印设置传递给它,例如(副本数, collat​​ion, duplex ..etc..) 以便寻找实用程序或想法以在网络中使用给定的打印设置创建打印作业。
  • 再次,这是 Adob​​e 的问题。没有通用的 API,但可能有 Acrobat API。

标签: c# asp.net printing-web-page system.printing jdf


【解决方案1】:

我可以回答! 8-) 我现在实际上正在开发一个使用它的项目。

请勿将 Acrobat Reader 用作任何类型的服务器应用程序。它有一个用户界面,会在一个不存在的屏幕上弹出,在一个意想不到的时间并冻结你的应用程序,等待永远不会发生的点击。

使用 Ghostscript。 Ghostscript 是免费的、开源的,可以完美地满足您的需求。开箱即用的它由一个 DLL 和一个命令行接口组成,但是有一个 API 和大量不同的接口,包括 .Net,以及适用于 Windows 和 Linux 的版本。

在更“概述”类型的注释中,您可以将 PDF 拖到工作站上的打印机中的原因是 Acrobat Reader 包含允许执行此操作的代码和挂钩。 Windows 实际上并不包含打印 PDF 的本机功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-25
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    • 2015-09-11
    • 1970-01-01
    相关资源
    最近更新 更多