Php 使用Knp Snappy生成pdf文件时出现错误字符
我正在使用Symfony2。使用此代码生成pdf文件时:Php 使用Knp Snappy生成pdf文件时出现错误字符,php,symfony,pdf,pdf-generation,wkhtmltopdf,Php,Symfony,Pdf,Pdf Generation,Wkhtmltopdf,我正在使用Symfony2。使用此代码生成pdf文件时: public function printAction($id) { // initialiser $demande $html = $this->renderView('PFETimeBundle:Demande:print.html.twig', array('demande'=> $demande) ); retur
public function printAction($id)
{
// initialiser $demande
$html = $this->renderView('PFETimeBundle:Demande:print.html.twig',
array('demande'=> $demande)
);
return new Response(
$this->get('knp_snappy.pdf')->getOutputFromHtml($html),
200,
array(
'Content-Type' => 'application/pdf',
'Content-Disposition' => 'attachment; filename="file.pdf"'
)
);
}
我得到了这个内容(法语字符出现在坏字符中):
尝试添加
编码
属性
'encoding' => 'utf-8',
这是我工作代码的完整副本,请注意,我将一个选项数组作为第二个参数传递给getOutPutFromHtml()
如果您使用的是
generateFromHtml
方法,则必须像这样使用它,在第三个参数处:
$this->container->get('knp_snappy.pdf')->generateFromHtml(
$this->container->get('templating')->render(
'YourBundle:Template:pdfTemplate.html.twig',
array(
'var' => $var,
)
),
'/path/to/file.pdf',
array(
'encoding' => 'utf-8',
)
);
谢谢你。您为我节省了大量的时间,让我了解如何传递选项以及传递哪个选项来设置
编码
$this->container->get('knp_snappy.pdf')->generateFromHtml(
$this->container->get('templating')->render(
'YourBundle:Template:pdfTemplate.html.twig',
array(
'var' => $var,
)
),
'/path/to/file.pdf',
array(
'encoding' => 'utf-8',
)
);