如何将呈现的 pdf(从 html 生成)保存到我的计算机?
how can i save rendered pdf (generated from html) to my computer?
我正在使用下面的 API 从 URL:
生成 pdf
https://url-to-pdf-api.herokuapp.com/api/render?url=http://google.com
我想要一个 php 直接下载生成的 pdf 的代码。以下是我尝试过的:
a href="https://url-to-pdf-api.herokuapp.com/api/render?url=http://google.com" 下载="download"
但是,文件没有下载!
预期的输出应该是下载的 pdf 文件。
你可以使用
<form method="get" action="https://url-to-pdf-api.herokuapp.com/api/render?url=http://google.com">
<button type="submit">Download!</button>
</form>
您似乎没有使用相同的来源,这可能导致了问题。
请使用相对 url 而不是绝对 url。
例如:下载
此属性仅适用于同源网址。
你的html
<a href="downloader.php">Download pdf</a>
您可以使用 php 保存 downloader.php
$url = 'https://url-to-pdf-api.herokuapp.com/api/render?url=http://google.com';
set_time_limit(0);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$r = curl_exec($ch);
curl_close($ch);
header('Expires: 0'); // no cache
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT');
header('Cache-Control: private', false);
header('Content-Type: application/force-download');
header('Content-Disposition: attachment; filename="' . 'x.pdf' . '"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . strlen($r)); // provide file size
header('Connection: close');
echo $r;
我正在使用下面的 API 从 URL:
生成 pdfhttps://url-to-pdf-api.herokuapp.com/api/render?url=http://google.com
我想要一个 php 直接下载生成的 pdf 的代码。以下是我尝试过的:
a href="https://url-to-pdf-api.herokuapp.com/api/render?url=http://google.com" 下载="download"
但是,文件没有下载!
预期的输出应该是下载的 pdf 文件。
你可以使用
<form method="get" action="https://url-to-pdf-api.herokuapp.com/api/render?url=http://google.com">
<button type="submit">Download!</button>
</form>
您似乎没有使用相同的来源,这可能导致了问题。
请使用相对 url 而不是绝对 url。
例如:下载
此属性仅适用于同源网址。
你的html
<a href="downloader.php">Download pdf</a>
您可以使用 php 保存 downloader.php
$url = 'https://url-to-pdf-api.herokuapp.com/api/render?url=http://google.com';
set_time_limit(0);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$r = curl_exec($ch);
curl_close($ch);
header('Expires: 0'); // no cache
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT');
header('Cache-Control: private', false);
header('Content-Type: application/force-download');
header('Content-Disposition: attachment; filename="' . 'x.pdf' . '"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . strlen($r)); // provide file size
header('Connection: close');
echo $r;