使用附件设置按钮图标

时间:2017-03-31 09:01:32

标签: javascript pdf adobe acrobat

我正在创建一种模板供用户填写Adobe Acrobat Pro X,但他们还需要附加照片。我已经创建了一个基于this thread here的按钮,当单击该按钮时,会提示用户选择一个文件,然后将该文件附加到PDF。它的工作非常精美,除了模板pdf有多个页面,其中有多个照片位置。

我需要一种方法来跟踪哪个(图片)附件属于哪个位置。到目前为止,我的主要想法是简单地插入将获取文件的代码并将其用作按钮的图标。 (如果用户意外地附着了错误的文件,然后上传正确的文件而不删除旧文件,这也很好;我会看到最新的选择,并认为它是正确的选择)。

另一个想法是在文件附加时重命名(到Attachment1等),但这似乎并不可行。

按钮有2种不同的功能,具体取决于用户是否使用Reader 11。

当他们不使用Reader时,主要代码如下所示:

app.alert({
        cMsg: "Please select a file to attach.",
        cTitle: "Attach File",
        nIcon: 3,
        nType: 0
    });

    try {

        var rc = this.importDataObject("Attachment" + attachment_num);
        if (rc) {
            attachment_num += 1;
            app.alert({
                cMsg: "Attachment successful.",
                cTitle: "Attachment Successful",
                nIcon: 3,
                nType: 0
            });

我在考虑作为if语句的第一行,我可以插入代码来更改运行此代码的按钮的图标,但我无法找出正确的方法尝试。我正在考虑使用基于herebuttonSetIcon,但我做错了,可能是因为我缺乏JavaScript知识。

我正在尝试的是这个

的内容
var f = this.getField("ImageButton");
f.buttonSetIcon(rc);

虽然它没有用。我不确定importDataObject在变量rc中究竟返回了什么,但我希望它本身就是文件。

当用户使用Reader 11时,这会让人感到更加困惑,因为所有内容似乎只是一行代码annot.cAttachmentPath;,但我会首先关注其他版本。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

将以下代码行放在按钮的Mouse Up操作中。

event.target.buttonImportIcon();

这将打开一个文件选择对话框,用户可以在其中选择要导入的图像并将其设置为“普通”按钮图标。它会将图标导入到按下的按钮中,以便您可以将其用于多个按钮。

请注意,在Reader中,图像需要先转换为PDF。在Acrobat中,转换将自动进行。

如果您需要一种方法将图像(作为图像)添加到Reader,并且您可以容忍用户手动定位它们,您只需从剪贴板粘贴图像,它就会在PDF中显示为图章。您需要指导用户如何将图像放到剪贴板上。然后他们需要缩放和定位图像。