1

我想知道以下想法是否可能/有意义?

创建一个不打印到纸张或文件的虚拟打印机(如任何具有打印功能的应用程序都可以在打印机列表中看到的“PDF 打印机”),而只是将“正在打印”的文档插入文档管理系统 (DMS)我开发了。想象一下,我从 MSWord 中选择“MyPrinter”,然后在“打印”时出现我的自定义表单,让用户选择在我的 DMS 中保存 doc 文件的位置,让用户设置一些参数(与我的 DMS 相关)。

因此,在这些“表格”之后,我拥有了在 DMS 中插入文件所需的所有数据。

我知道这在某种程度上是“在技巧领域”,但它是将我的应用程序与一些无法替代的旧软件(具有打印功能)集成的唯一选择。

我想对此发表评论。

4

1 回答 1

3

创建虚拟打印机是一项非常技术性的任务。您将不得不编写一个设备驱动程序,这在 Delphi 中是无法直接实现的(即使网络中有一些代码)。

有几个组件可以做到这一点:它们包含在已经开发的打印机驱动程序中,以及一些可以从其他语言(包括 Delphi)调用的通用 API。

我发现ColorPilot 的 EMFPrinterPilot可能是一个好的开始。您的 Delphi 应用程序可能能够检索 Text(用于索引)、PDF(用于归档)甚至 EMF(用于显示/重印)。

于 2012-10-12T09:39:36.353 回答