gpt4 book ai didi

Symfony2 使用 FPDF 输出 pdf

转载 作者:行者123 更新时间:2023-12-05 08:43:48 24 4
gpt4 key购买 nike

如何在 Symfony 中返回响应以输出 pdf?我目前正在使用 FPDF,因为我不想使用任何捆绑软件。这是我的 Controller 操作:

public function pdfAction(Request $request) {

//grab from database

$pdf = new \FPDF;

for($i = 0; $i < count($entities); $i++) {
//manipulate data

$pdf->AddPage();
$pdf->SetFont("Helvetica","","14");
$pdf->SetTextColor(255, 255, 255);
}

$pdf->Output();

return new Response($pdf, 200, array(
'Content-Type' => 'pdf'));

}

有了这些,我得到的只是一个包含乱码字符的页面。我对 I/O 操作很陌生,所以任何帮助都会很棒。谢谢..

最佳答案

您需要为响应设置正确的 Content-Type。此外,不要将您的 FPDF 对象作为响应内容发送,而是发送 PDF 输出。试试这个:

public function pdfAction(Request $request) {

//................//

return new Response($pdf->Output(), 200, array(
'Content-Type' => 'application/pdf'));

}

更新:

要下载而不是显示生成的 PDF 文件,您需要将 disposition 设置为 attachment:

use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\ResponseHeaderBag;

public function pdfAction(Request $request) {

//................//

$response = new Response(
$pdf->Output(),
Response::HTTP_OK,
array('content-type' => 'application/pdf')
);

$d = $response->headers->makeDisposition(
ResponseHeaderBag::DISPOSITION_ATTACHMENT,
'foo.pdf'
);

$response->headers->set('Content-Disposition', $d);

return $response;
}

http://symfony.com/doc/current/components/http_foundation/introduction.html#serving-files

关于Symfony2 使用 FPDF 输出 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24089758/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com