有没有办法拦截本地Windows XP机器上的打印作业?

时间:2009-09-21 14:00:14

标签: printing windows-xp intercept

最好使用像Perl或Python这样的脚本语言,但如果我必须去编译路由,那么就这样吧。

基本上我想做的是添加我公司的邮件合并系统。现在,我们使用的软件对其导出的邮件合并字段的选择相当有限,但如果我们能够以某种方式将数据库查询的结果合并到字母中,我们可以完成更多(并且不幸的是Word没有提供足够的灵活性数据库查询来完成这个)。我们使用的系统自动将其字母发送到默认打印机(这是一台点对点打印机,没有打印服务器)。我想创建一个可以作为中间人的程序。理想情况下,它会检测何时触发打印作业,捕获已发送的文档,打开它,从其自己的查询中插入额外的数据,然后将新版本发送到打印机。

我有两个问题

  1. 这是否可能,如果是这样,我从哪里开始?
  2. 一个人在合理的时间范围内完成是否可行?请记住,我不是贸易程序员,我是系统管理员类型的人= P

2 个答案:

答案 0 :(得分:3)

老实说,这是一条难以置信的艰难道路。也许尝试创建一个处理数据的虚拟打印机并将其转发到真正的打印机上。我会看看能不能为你找到任何东西。

答案 1 :(得分:0)

如果您使用Word,我认为您会发现在Visual Basic中实现增强的邮件合并系统要容易得多。我怀疑在那个级别拦截工作会非常困难。如果您更喜欢Perl或Python到VB,您甚至可以编写.py / .pl脚本来运行查询并生成.vbs脚本。您也可以使用OpenOffice,它可以使用Python编写脚本。