繁体   English   中英

如何从二进制文件生成pdf文件

[英]How do I generate a pdf-file from a binary file

二进制数据只是实际文件,或者是该文件的重要内容,只是没有文件名。

$base64 = /* some base64 encoded data fetched from somewhere */;
$binary = base64_decode($base64);

$ binary变量中包含文件的文件数据/内容。 从这里开始,这取决于您要做什么。 您可以将数据写入文件,然后获得“实际” PDF文件:

file_put_contents('my.pdf', $binary);

您可以使用适当的标题将数据吐出到浏览器中,并且用户将收到类似于PDF文件的内容:

header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="my.pdf"');
echo $binary;

它生成一个pdf文件,但未打开。显示错误发生。 //以下是php文件

 <?php
 $base64 = "/here binary code/";
 $binary = base64_decode($base64);
 file_put_contents('my.pdf',$binary);
 header('Content-type: application/pdf');
 header('Content-Disposition: attachment; filename="my.pdf"');
 echo $binary;
 ?>

然后如何比较下载的文件和原始文件。

我认为您的问题是$ base64变量中没有正确的数据。 您只是在做出PDF响应,但是该响应的内容不是PDF文件。

(您可以尝试从一些真实的PDF中读取内容,将此数据填充到$ binary,它应该可以工作。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM