PHP从base64编码的数据字符串中获取pdf文件

时间:2022-11-13 13:46:32

I have a base64-encoded string containing a pdf. How to create a .pdf file from this encoded string using php?

我有一个包含pdf的base64编码的字符串。如何使用php从这个编码的字符串创建.pdf文件?

Something like Content-type:application/pdf in header function?

像Content-type:application / pdf in header function?

this is the base64 encoded string

这是base64编码的字符串

2 个解决方案

#1


40  

Try this piece of code

试试这段代码

$pdf_base64 = "base64pdf.txt";
//Get File content from txt file
$pdf_base64_handler = fopen($pdf_base64,'r');
$pdf_content = fread ($pdf_base64_handler,filesize($pdf_base64));
fclose ($pdf_base64_handler);
//Decode pdf content
$pdf_decoded = base64_decode ($pdf_content);
//Write data back to pdf file
$pdf = fopen ('test.pdf','w');
fwrite ($pdf,$pdf_decoded);
//close output file
fclose ($pdf);
echo 'Done';

#2


12  

Whit this you can create and open the file... but maybe this is not the answer to the question

你可以创建并打开文件,但这可能不是问题的答案

$data = base64_decode($this->Get(self::Body));
file_put_contents('file.pdf',$data);

The answer is echo the content with a header :

答案是用标题回显内容:

$data = base64_decode($this->Get(self::Body));
header('Content-Type: application/pdf');
echo $data;

#1


40  

Try this piece of code

试试这段代码

$pdf_base64 = "base64pdf.txt";
//Get File content from txt file
$pdf_base64_handler = fopen($pdf_base64,'r');
$pdf_content = fread ($pdf_base64_handler,filesize($pdf_base64));
fclose ($pdf_base64_handler);
//Decode pdf content
$pdf_decoded = base64_decode ($pdf_content);
//Write data back to pdf file
$pdf = fopen ('test.pdf','w');
fwrite ($pdf,$pdf_decoded);
//close output file
fclose ($pdf);
echo 'Done';

#2


12  

Whit this you can create and open the file... but maybe this is not the answer to the question

你可以创建并打开文件,但这可能不是问题的答案

$data = base64_decode($this->Get(self::Body));
file_put_contents('file.pdf',$data);

The answer is echo the content with a header :

答案是用标题回显内容:

$data = base64_decode($this->Get(self::Body));
header('Content-Type: application/pdf');
echo $data;