在hyperref中使用表格中的TextField作为href(或PushButton)的URL。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在hyperref中使用表格中的TextField作为href(或PushButton)的URL。相关的知识,希望对你有一定的参考价值。

所以我就是想不通这个问题。 在Latex的 "Form "环境中,想象一下有一个像下面这样的文本字段。

TextField[default=URL_Here,bordercolor=,name=link1,width=8cm,charsize=10pt]{}

现在,如果你想在同一个表格块中的其他地方访问它,你可以这样做,但是,你如何将它转换为其他地方的超链接?

this.getField("link1").value

但是,你如何将其转换为其他地方的超链接? 最终的目标是,当在一个文本字段中输入一个URL时,一个可点击的链接会出现在相邻的字段中。 到目前为止,以下方法都失败了。

href{this.getField("link1").value}{Link}

PushButton[
    onclick={
        this.submitForm(this.getField("link1").value);
    },
    name=hlink1,
    readonly=false, bordercolor=, width=2cm, charsize=10pt
]{Link}

第一种方法只是在pdflatex编译时崩溃,而后一种方法成功了(只有在url中指定了https:/的情况下),但在试图访问某个任意url时失败了(为了匿名,将我的用户名改为USERNAME,复制如下)。

file:///C:/Users/USERNAME/AppData/Local/Temp/acrord32_sbx/A9Rcopupe_dxvlog_9x4.htm

上述提交按钮(失败)的最小测试案例如下。

documentclass{article}

usepackage{hyperref}

egin{document}

egin{Form}
egin{tabular}{c | c }
TextField[default=https://www.google.com,bordercolor=,name=link1,width=8cm,charsize=10pt]{} & 
PushButton[
        onclick={
            this.submitForm(this.getField("link1").value);
        },
        name=hlink1,
        readonly=false, bordercolor=, width=2cm, charsize=10pt
    ]{Link}
end{tabular}
end{Form}

end{document}
答案

使用 app.launchURL() 在您的 MWE 中(而不是 submitForm())

egin{Form}
egin{tabular}{c | c }
TextField[default=https://www.google.com,bordercolor=,name=link1,width=8cm,charsize=10pt]{} & 
PushButton[
        onclick={
            app.launchURL(this.getField("link1").value);
        },
        name=hlink1,
        readonly=false, bordercolor=, width=2cm, charsize=10pt
    ]{Link}
end{tabular}
end{Form}

submitForm() 具有不同的功能。

submitForm

将表单提交到指定的URL。要调用此方法,您必须在Web浏览器内运行或安装了Acrobat Web Capture插件。如果URL使用 "mailto "方案,只要存在SendMail插件,即使不在Web浏览器内运行,也会被接受)。从Adobe Reader 6.0开始,你不需要在Web浏览器中调用这个方法。

-- 第345页

以上是关于在hyperref中使用表格中的TextField作为href(或PushButton)的URL。的主要内容,如果未能解决你的问题,请参考以下文章

从 SpreadsheetView 检索 TextField 用户条目

访问嵌入在单元格中的 textField

从自定义单元格 iPhone 中的 textField 获取值

在 tableView 中获取 TextField 标识

LaTeX 报错: Option clash for package hyperref

LaTeX 报错: Option clash for package hyperref