Base64 PDF iframe未在Chrome上显示。
PHP/HTML:
<?php
$pdf = base64_encode(file_get_contents('https://freetestdata.com/wp-content/uploads/2022/11/Free_Test_Data_10.5MB_PDF.pdf'));
echo '<iframe src="data:application/pdf;base64,' . $pdf . '></iframe>';
?>
我尝试了<embed>
,指定width
和height
,以及type="application/pdf"
,但它不工作。
文件大小> 10 MB我尝试与3 MB的文件不工作。
它只适用于39 kb的PDF。
1条答案
按热度按时间e4yzc0pl1#
要规避数据URL长度限制,您可以在服务器上创建一个PHP脚本,它将为您下载文件:
参见:readfile()。需要头来告诉浏览器这是一个PDF和文件名是什么。
现在假设您将此PHP脚本称为“download_pdf.php”,您可以像这样使用它:
现在你没有说任何关于这一点,但如果你想能够下载多个PDF,你可以使用一个URL参数,像这样:
然后你需要像这样修改脚本:
这仅仅是一个例子。URL可以来自数组,甚至可以来自数据库表。