从 Beamer PDF 演示文稿运行外部程序的按钮

从 Beamer PDF 演示文稿运行外部程序的按钮

我想在 Beamer 演示文稿(PDF 文件)中添加一个“运行演示”按钮,该按钮将启动外部 Java 应用程序。可以通过某种方式实现吗 - 使用 LaTeX/Beamer 在 PDF 中嵌入“exec”命令?

答案1

在 Windows 上安装 Textworks 后,MikTeX 安装的简单命令链接将使你能够在 TeXWorks pdf 阅读器中执行它。以下最小命令将调出计算器程序,前提是“windows/system32”在你的路径中。

\documentclass{article}
\usepackage{hyperref}
\begin{document}
  \url{"calc.exe"}
\end{document}

尽管我确信有办法绕过 Adob​​e 的安全功能,但这不适用于 Adob​​e pdf 阅读器。

正如我在评论中提到的,另一种方法是提供一个通过 localhost 激活 php 脚本的链接。下面显示了一个执行此操作的简单函数:

function pdflatex($data=''){
        if (!empty($_POST)){
            $code=$_POST['ascript'];
        }
        //$f='ZZZ.tex';
        //$res = file_put_contents('C:/latex-samples/'.$f, trim($code));
        //ob_start();
        $t='pdflatex.exe  c:/latex-samples/ZZZ.tex 2>&1';
        echo '<pre>'.shell_exec($t).'<pre>';
    }

在示例中,我调用pdflatex.exe并将输出重定向到屏幕,以便您可以看到输出。我通常使用这样的脚本通过浏览器中的文本区域运行语言脚本(因此有注释行)。在这种情况下,脚本被捕获并以 POST 形式发送并保存在文件(ZZZ.tex)中,然后您可以让 pdflatex 处理它。

我通常使用 WAMP 或 IndigoStar 来安装 Web 堆栈。后者位于http://www.indigostar.com/indigoperl.php将为 Perl 和 PHP 设置 Apache。Perl 和 Python 都有与 php 类似的命令shell_exec,以及此命令的变体。

相关内容