使用javascript打开PDF

本文关键字:PDF 打开 javascript 使用 | 更新日期: 2023-09-27 18:19:55

有没有办法使用JavaScript(或C#)打开PDF文档,并使用Acrobat自动打开,让用户编辑文档,在用户关闭文档后,保存回服务器。

从我的研究中,我发现人们推荐iTextsharp,但我认为这不会实现我想要实现的目标。

基本上,我试图模仿SharePoint的签出/签入功能。

使用javascript打开PDF

这在很大程度上可能取决于您想要实现的目标以及您对环境/用户的控制程度。看看AcrobatX和SharePoint的功能,对SharePoint的支持似乎内置在AcrobatX.中

这可以很容易地(好吧:-))通过创建一个Acrobat插件来完成。插件能够监控Adobe Acrobat中的无数事件并对此做出反应。它们可以做一些复杂的事情,比如添加文件系统(例如,允许您打开和保存实际存储在数据库中的文件),但肯定有更简单的策略可以想象。

想象一下,在Adobe Acrobat中有一个插件,它可以监视用户打开的每个文件。当看到从服务器打开的文件时,它会将该文档标记为您的文档,并将其与服务器签出(无论您想要实现什么)。当用户保存文档时,也会收到通知(在实际保存之前和之后),并且可以再次采取适当的操作。

所以一般的答案是肯定的,如果你愿意编写一个插件,并且你对环境有足够的控制权,你可以确保所有用户都在Adobe Acrobat中安装了这个插件,那么在某些情况下这是可行的。

忽略浏览器,所以假设您在C#应用程序中工作,这是很可能的,而且没有看起来那么复杂。细节将取决于您的确切设置,但我建议使用la:

  • 从服务器下载文件,并将其存储在扩展名为.PDF的临时位置。您的下载可以通过HTTP,也可以通过UNC路径或映射驱动器进行。确保保存到的位置是可以读/写和删除文件的位置——标准的临时文件夹就足够了。

  • 使用Process.Start启动Acrobat。如果Acrobat(或其他合适的编辑器)将在用户的系统上注册为默认程序,当用户双击PDF时打开该程序,则您可以只进行处理。在不指定特定动词(命令)的情况下启动文档本身。否则,您可以查找并指定正确的谓词,或者启动Acrobat本身并指定文件名。

  • 您可以等待用户关闭Acrobat,即Acrobat进程完成,也可以观察文件的更改并在更改时做出反应。请记住,如果监视更改,Acrobat可能会保留对文件的独占锁定,直到用户关闭该文档或Acrobat,因此您可能需要等待Acrobat完成,或者在检测到更改后,定期检查(轮询),直到您可以访问该文件。

  • 通过任何看起来最合适的方式将文件上传回服务器。

要将文档保存回SharePoint,客户端应用程序中应该有支持。如果我正确理解Acrobat X支持此功能http://pdfdevjunkie.host.adobe.com/pdf/AcrobatXandMicrosoftSharePoint.pdf。那不是你要找的吗?

据我所知,没有JS解决方案可以编辑PDF(26.06.13),但有一种方法可以预览它们,例如使用纯JS解决方案PDF.JS。
您需要使用纯提交的数据在服务器端生成PDF文件。