如何使用CakePdf创建和下载PDF,而不是在浏览器中显示它
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用CakePdf创建和下载PDF,而不是在浏览器中显示它相关的知识,希望对你有一定的参考价值。
我下载并安装了CakePdf,效果很好。但是在文档中只显示了两种方法: - 渲染到屏幕,可选下载。 - 创建文件并将其存储在服务器中
我实际上想用用户的数据生成pdf并下载它而不将其保存在服务器中,但我不希望浏览器加载它并在屏幕上显示它。在浏览器中显示pdf时的即时下载很不错,但是使用它的用户不熟悉浏览器并且会卡在pdf页面中,忽略了如何返回菜单。
有帮助吗?
答案
我使用TCPDF
作为我的PDF生成器,但我认为CakePdf
的方法是相同的。这里的关键是将PDF生成为字符串变量。一旦你有了它,很容易两种方式发送它。
这将在浏览器中打开PDF以供查看:
public function index() {
$pdf = $this->PdfToString(); // should return PDF as a string
return $this->response
->withType('application/pdf')
->withStringBody($pdf);
}
这将使浏览器提示用户保存PDF:
public function index() {
$pdf = $this-PdfToString();
return $this->response
->withType('application/pdf')
->withStringBody($pdf)
->withDownload('document_name.pdf');
}
正如您所看到的,使用Cakephp 3非常容易。
以上是关于如何使用CakePdf创建和下载PDF,而不是在浏览器中显示它的主要内容,如果未能解决你的问题,请参考以下文章
使用 PDFKit Swift (ios)/Capacitor 加载 PDF 而不下载文件
如何在 laravel 刀片中显示来自 public/file/filen_name 的 pdf 文件而不下载文件 [重复]
使用特定配置打开 Puppeteer(下载 PDF 而不是 PDF 查看器)