当用户单击“导出 PDF”按钮时,我正在尝试执行控制台命令。我正在使用 Phantom JS 生成 PDF 输出。
如果我在命令提示符下运行以下命令,一切正常:
phantomjs.exe generate_pdf.js http://hidden_link.com/view_printable_proposal/CPpktzdnbwDB test.pdf
因此,我在控制器中创建了一个函数,当您单击“导出 PDF”按钮时,它会转到该函数:
<a href="<?= base_url().'create_pdf/'.$hash ?>"><button type="button" class="btn" style="width: 100%;">Export as PDF</button></a>
我拥有的整个功能:
public function create_pdf($hash = false)
{
$output = 'phantomjs.exe generate_pdf.js http://hidden_link.com/view_printable_proposal/CPpktzdnbwDB test.pdf';
shell_exec($output);
}
如您所知,我以前从未尝试过以任何语言执行控制台命令。我什至接近吗?
谢谢!
PS:如果您不确定该控制台命令在做什么,可以让您深入了解该控制台命令 - 首先,phantomjs.exe 正在调用 .exe 应用程序,然后“generate_pdf”是与 .exe 应用程序位于同一目录中的 javascript 文件. 第三项是我要转换为 PDF 的内容的链接。最后的“test.pdf”就是导出 PDF 后的名称。同样,通过命令提示符到我尝试运行的命令一切正常。
顺便说一句,目前当我单击按钮时,我只是转到一个白页,没有任何反应。