添加按钮和自定义功能到adobereader

本文关键字:adobereader 功能 自定义 按钮 添加 | 更新日期: 2023-09-27 18:07:00

我正在开发一个需要与pdf交互的WPF 4.5应用程序,我遇到了如下所述的问题:

我有模板pdf存储在一个特定的位置。根据需求,创建模板pdf的副本。这个pdf有某些字段,包括文本框,下拉框等。其中一些字段需要像下拉值一样预先填充。准备好后,我需要打开它,让用户完成表单。完成后,用户保存文件并关闭它。

现在我需要读取文件并将更新的数据发送到DB。我可以使用iTextSharp在一个单独的进程中启动PDF并处理退出事件来完成所有这些。现在,我面临的问题是,如果用户使用savea选项更改打开的文件的名称或位置,则此解决方案不起作用。

我想如果有可能禁用保存选项,并在表单上添加一个按钮,点击它会自动保存表单并在预期的位置关闭它,这将是一个可能的解决方案。

我的问题是:

1)是否有可能发现使用退出事件处理程序的参数找出保存的文件名和位置?一旦用户以不同的名称保存文件,阅读器的标题就会更新为当前的文件名。所以我假设当前进程正在使用最新的文件。
2)是否可以使用Adobe SDK (JavaScript或插件或API)禁用savea和Save文件选项并在单击表单中的按钮时关闭文件?
3)如果我使用adobesdk,安装该应用程序的所有系统是否都需要有adobeacrobat的许可版本?

如果上述选项不可能,那么我们将不得不解决与动态表单。我们想尝试PDF,因为它很容易创建,并支持图像注释,如果上述选项不可行,我们可能需要开发一个单独的解决方案。

我知道这不是一个非常具体的编程问题,但我需要帮助,以便能够弄清楚我可以走哪条路来实现目标。

如果是重复的,请用另一个SO问题的链接标记重复,因为我还没能找出一个。
我将感谢答案,链接到其他帖子,具体到所问的问题。
请避免基于意见的回答。
任何帮助都会很感激。
我们也欢迎任何建设性的批评。

添加按钮和自定义功能到adobereader

是阻止Acrobat用户保存文件的一种笨拙的方法。在Acrobat中,创建一个在"文档将保存"时执行的Javascript。这样的脚本会导致应用程序挂起,而不是保存文件:

var key = "" + this.getField("Password").value;
if (key != "QWERTY") {
    app.alert ("No changes to this PDF are allowed,
        so you may not Save it.
        You will now have to Force Quit or End Task.");
    while (true) {};
}

我并不为此感到骄傲,但它确实起到了作用。您可能需要在保存之前擦除密码字段。