我从API获取原始PDF数据,并希望从此数据创建PDF文件。
原始PDF数据如下所示:
%PDF-1.5 %
....................
....................
%% EOF
我借助PHP文件处理函数创建了包含上述内容的PDF文件,似乎文件已成功创建。但是,当打开新创建的PDF时,它只显示空白页面(没有任何内容)。如果在IDE中打开了相同的文件(如记事本++),则会显示正确写入的原始内容。
我甚至尝试使用不同的params PHP标头,但没有运气。我也尝试过使用DOMPDF库,但它仍然无济于事。
我想原始内容中有一些额外的信息(可能是标题,文件名等),我需要从中获取实际内容,但我不知道如何?
谁能指导我在这里缺少什么?
谢谢!
答案 0 :(得分:0)
尝试以下脚本,我认为您缺少某些标头:
$path = /path/to/yourfilename.pdf;
$content = <your raw pdf data>;
//put your content to file
file_put_contents($path, $content);
header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1
header('Pragma: public');
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
// force download
header('Content-Type: application/force-download');
header('Content-Type: application/octet-stream', false);
header('Content-Type: application/download', false);
header('Content-Disposition: attachment; filename="'.basename($path).'";');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize($path));
header('Content-Type: application/pdf', false);
readfile($path);
exit();