从Adobe Acrobat Reader和DejaVu Reader进程中提取当前页面?

时间:2011-02-01 18:36:47

标签: c# .net pdf djvu

我想制作一个C#程序,它将保存pdf和djvu文件的书签。 如何从AcroRd32 / DjVuReader流程中找到当前页码

1 个答案:

答案 0 :(得分:1)

您可以通过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 ++编写)

我已经成功地使用此库(NDDE)强制AcroRd32.exe打开文件,将特定页面打印到网络打印机...等,这就是为什么我会推荐它。这肯定是为了支付Acrobat Development Toolkit许可证.... grrrrrr。

在任何一种情况下,我希望这会有所帮助。您可以通过OLE自动化& amp; COM,但我从未尝试过。

谢谢,

<bleepzter/>

PS。请标记我的问题,如果它帮助了你的努力:)谢谢!