【发布时间】:2011-02-02 11:50:39
【问题描述】:
我想制作一个 C# 程序来保存 pdf 和 djvu 文件的书签。 如何从 AcroRd32/DjVuReader 进程中找出当前页码?
【问题讨论】:
我想制作一个 C# 程序来保存 pdf 和 djvu 文件的书签。 如何从 AcroRd32/DjVuReader 进程中找出当前页码?
【问题讨论】:
您可以通过 Adobe Acrobat 支持的 DDE 协议来实现。检查 Acrobat 的 DDE 规范 (Adobe Inter Proces Communication Support Paper)。
现在,如果你不熟悉 DDE,让我给你一个简单的概述 - 它是一个基于 Microsoft (Windows) 的 IPC 协议,类似于命名管道 (Windows)、COM(OLE)、WCF、MSMQ(用于 IPC )、RPC等。实际上MSMQ在我看来可能是最接近的。
基本上使用 DDE,您连接到 DDE 服务器(运行 acrobat 的本地计算机),并向其发送消息/命令。它的诀窍是 .NET(任何版本)不原生支持 DDE。要解决此问题,您可以使用CodePlex 上的 NDDE 包装器(用托管 C++ 编写)
我已经成功地强制 AcroRd32.exe 打开文件,将特定页面打印到网络打印机......等等使用这个库 (NDDE),这就是我推荐它的原因。它肯定比为 Acrobat Development Toolkit 许可证付费要好得多...... grrrrrr。
无论哪种情况,我希望这会有所帮助。您可能可以通过 OLE 自动化和 COM 来实现,但我从未尝试过。
谢谢,
<bleepzter/>
PS。如果它对您的工作有所帮助,请标记我的问题:) 谢谢!
【讨论】: