“打印”到Web服务,并传递上下文信息

时间:2013-01-10 22:33:13

标签: web-services printing

问题: 我们有一个基于Web的医疗软件应用程序,作为解决方案的一部分,允许人们上传和共享文件。保存这些文件并将这些文件从其源电子病历应用程序上传到我们的过程对于用户来说是麻烦的。

目标: 我希望有一种方法让他们通过标准打印对话框从源应用程序“打印”(必要因为我们无法控制源应用程序),但是将该文档实际上传到我们的Web应用程序中网络服务,或IPP或类似。

并发症: 我们还需要一些上下文数据:您打印的这个东西属于哪个患者?这是通过用户需要指定的标识符完成的,我们将在我们这边匹配。

我需要帮助: 我不太了解打印驱动程序,端口重定向(例如RedMon),IPP或类似的东西,以了解如何构建它。这是我对它的刺痛。这会有用吗?有更简单的方法吗?

  1. 用户安装RedMon或类似设备以及我们编写的自定义本地应用程序以捕获打印机图像
  2. 这会触发本地应用程序提示用户输入我们需要的患者信息以匹配文档
  3. 然后本地程序进行身份验证,并将文件上传到我们的Web服务,并且可供用户使用。

1 个答案:

答案 0 :(得分:1)

我猜您的用户操作系统是Windows,因此一个很好的起点是 PDFCreator (一个用于Windows的开源虚拟打印机)。

将您的文档另存为:

  • PDF,
  • PNG,
  • JPEG,
  • BMP,
  • PCX,
  • TIFF,
  • PS,
  • EPS,
  • TXT,
  • PSD,
  • PCL,
  • Raw,
  • SVG
通过指定位置和使用文件命名约定来

到本地文件系统。保存后使用操作运行shell脚本。使用此shell脚本询问用户是否有更多元数据,并让此脚本执行上传到您的网络服务

PDFCreator是开源的(您可以在sourceforge.com上找到它),因此您可以将元数据的一些字段添加到打印机对话框,并通过文件命名约定将它们传递给shell脚本。

另一种选择是收集网络应用程序中的所有上传内容,并在上传后添加元数据。可能是为每个用户实现“虚拟打印机队列”的选项(由上传者/作者/ windows用户名/从主机名上传)。

可能你可以从这里开始(未经测试):

Scripts/RunProgramAfterSaving/FTPUpload.vbs

也可能很有趣:

Scripts/RunProgramAfterSaving/PopUpMessage.vbs

注意:注意使用PDFCreator设置安装广告软件。