【问题标题】:Set Button icon using attached file使用附件设置按钮图标
【发布时间】:2017-03-31 09:01:31
【问题描述】:

我正在创建一种模板供用户在 Adob​​e Acrobat Pro X 中填写,但他们还需要附加照片。我创建了一个基于this thread here 的按钮,单击该按钮会提示用户选择一个文件,然后将该文件附加到PDF。它工作得很好,除了模板 pdf 有多个页面和多个照片位置。

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

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

根据用户是否使用 Reader 11,按钮有 2 种不同的功能。

当他们不使用 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 语句的第一行,我可以插入代码来更改运行此代码的按钮的图标,但我想不出正确的尝试。我正在考虑基于here 使用buttonSetIcon,但我做错了,可能是因为我缺乏JavaScript 知识。

我正在尝试的是类似的东西

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

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

当用户使用 Reader 11 时,这会变得更加混乱,因为一切似乎都只是一行代码,annot.cAttachmentPath;,但我将首先关注另一个版本。

有什么想法吗?

【问题讨论】:

    标签: javascript pdf adobe acrobat


    【解决方案1】:

    将以下代码行放入按钮的 Mouse Up 动作中。

    event.target.buttonImportIcon();
    

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

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

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

    【讨论】:

    • 不幸的是,这不是我想要的。我不想要一个单独的文件选择对话框。用户将选择已经添加为附件的文件。我在后台还想将此附件用作按钮的图标就好像他们刚刚使用您的代码行选择了一个文件。我想我也许可以使用buttonSetIcon() 来完成此操作,但我正在努力解决语法的问题。
    • 这可能是最有用的答案。我只需要创建一个允许将照片放入占位符的表单,然后将图像复制到剪贴板,然后将其粘贴到阅读器中,效果几乎很好。唯一的障碍是我认为 dpi 比率的差异,但我可以忍受。
    猜你喜欢
    • 1970-01-01
    • 2015-05-14
    • 1970-01-01
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    • 2019-11-09
    • 1970-01-01
    • 2017-03-27
    相关资源
    最近更新 更多