Php 如何返回pdf对象而不是使用fpdf保存
我需要创建一个pdf文件,并与POST请求一起发送到服务器。 对于创建pdf,代码非常简单Php 如何返回pdf对象而不是使用fpdf保存,php,pdf,fpdf,Php,Pdf,Fpdf,我需要创建一个pdf文件,并与POST请求一起发送到服务器。 对于创建pdf,代码非常简单 require('fpdf.php'); $pdf = new FPDF(); $pdf->AddPage(); $pdf->SetFont('Arial','B',16); $pdf->Cell(40,10,'Hello World!'); $pdf->Output("mypdf.pdf"); 为了发帖,我阅读了 $file_contents = file_get_conten
require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output("mypdf.pdf");
为了发帖,我阅读了
$file_contents = file_get_contents("mypdf.pdf");
有没有一种方法我不必先写入文件,然后再从中读取?
某种方式
$file_contents = $pdf->Output();
如果我答对了问题,您想要数据流吗 如果是这样,
Output()
接受两个参数,名称和目标
。将S
作为目标参数发送将返回pdf数据的字符串
所以,保留你的代码
require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$file_contents = $pdf->Output("mypdf.pdf","S");
根据fdf文件:
Output([string name, string dest])
名称
文件名。如果未指定,文档将以doc.pdf的名称发送到浏览器(目标I)
目的地
发送文档的目的地。它可以采用以下值之一:
- I:将文件内联发送到浏览器。如果可用,则使用该插件。当您在生成PDF的链接上选择“另存为”选项时,将使用名称给出的名称
- D:发送到浏览器并强制下载名为的文件
- F:保存到本地文件,文件名由name指定(可能包括路径)
- S:以字符串形式返回文档。名称被忽略
因此,如果要将文件内容传递给变量,请使用:
$pdf_file_contents = $pdf->Output("","S");
@洛德凯恩对不起,这对我不起作用。在这个答案上,用户试图显示它。然而,我试图得到它在相同的格式,因为它是从文件中读取。你能告诉我怎么做吗?谢谢。我可以在ajax调用的返回值中使用它吗?有没有办法直接在Azure存储上创建此PDF?