使用 base64 编码字符串生成 PDF

Generate PDF with base64 encode string

我正在使用 API,它为我提供 base64 编码的内容。提到我们可以通过将内容保存为.pdf文件来下载PDF文件。

在API文档中,明确提到了

A PDF that contains the contents of the invoice. You encode the content with a Base64 string to create a Base64-encoded .pdf file.

You can query this field to download the invoice PDF for a specific invoice. After you query it, you can save the string to a .pdf file, then view the file in any PDF reader.

我正在使用 TCPDF 将内容写入 PDF 文件。但是它会生成一个空白的 PDF 文件。

$PDF = new PDF('Test Title', 'Test Subject');

$PDF->GetTCPDF()->write(0, 0, '', '', base64_decode($this->Get(self::Body)), 0, 1, 0, true, '', true);

$PDF->Download();

我做错了什么吗?

我认为您应该使用此代码来获取您的 pdf 文件:

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

然后就可以打开了

或者您可以像这样将内容回显到您的页面:

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

祝你好运

上次我收到空白 PDF 时忘记使用 AddPage() 添加新页面。 除此之外我觉得M2sh是对的