Php symfony 4-显示图像时dompdf循环
我花了几天的时间在我的PDF中显示用domPDF在symfony 4上生成的图像 在pdf中,我想插入一个实体的图像,我用VichUploader管理该实体 所以我就这样说, 在我的控制器中,我添加了:Php symfony 4-显示图像时dompdf循环,php,image,symfony,twig,dompdf,Php,Image,Symfony,Twig,Dompdf,我花了几天的时间在我的PDF中显示用domPDF在symfony 4上生成的图像 在pdf中,我想插入一个实体的图像,我用VichUploader管理该实体 所以我就这样说, 在我的控制器中,我添加了: // Configure Dompdf according to your needs $pdfOptions = new Options(); $pdfOptions->set('isRemoteEnabled', true); 在我的小树枝中,我的图像
// Configure Dompdf according to your needs
$pdfOptions = new Options();
$pdfOptions->set('isRemoteEnabled', true);
在我的小树枝中,我的图像显示如下:
<img style="width:90px;" src="{{absolute_url(vich_uploader_asset(parametresAdmin, 'logoFile'))}}">
小枝:
/* Uses */
use Dompdf\Dompdf;
use Dompdf\Options;
/*Fonction*/
/**
* Générer un PDF
* @Route("/absence/pdf", name="absence_pdf")
*
* @return void
*/
public function createPDF(ParametresAdminRepository $repoParametres)
{
$parametresAdmin = $repoParametres->findAll();
if (isset($parametresAdmin[0])) {
$parametresAdmin = $parametresAdmin[0];
} else {
$parametresAdmin = new ParametresAdmin();
}
// Configure Dompdf according to your needs
$pdfOptions = new Options();
$pdfOptions->set('isRemoteEnabled', true);
// Instantiate Dompdf with our options
$dompdf = new Dompdf($pdfOptions);
$dompdf->set_option('isHtml5ParserEnabled', true);
// Retrieve the HTML generated in our twig file
$html = $this->renderView('absence/pdf.html.twig', [
'title' => "Welcome to our PDF Test",
'parametresAdmin' => $parametresAdmin
]);
// Load HTML to Dompdf
$dompdf->loadHtml($html);
// (Optional) Setup the paper size and orientation 'portrait' or 'portrait'
$dompdf->setPaper('A4', 'portrait');
// Render the HTML as PDF
$dompdf->render();
// Output the generated PDF to Browser (inline view)
$dompdf->stream("mypdf.pdf", [
"Attachment" => false,
]);
}
和我的树枝:
/* Uses */
use Dompdf\Dompdf;
use Dompdf\Options;
/*Fonction*/
/**
* Générer un PDF
* @Route("/absence/pdf", name="absence_pdf")
*
* @return void
*/
public function createPDF(ParametresAdminRepository $repoParametres)
{
$parametresAdmin = $repoParametres->findAll();
if (isset($parametresAdmin[0])) {
$parametresAdmin = $parametresAdmin[0];
} else {
$parametresAdmin = new ParametresAdmin();
}
// Configure Dompdf according to your needs
$pdfOptions = new Options();
$pdfOptions->set('isRemoteEnabled', true);
// Instantiate Dompdf with our options
$dompdf = new Dompdf($pdfOptions);
$dompdf->set_option('isHtml5ParserEnabled', true);
// Retrieve the HTML generated in our twig file
$html = $this->renderView('absence/pdf.html.twig', [
'title' => "Welcome to our PDF Test",
'parametresAdmin' => $parametresAdmin
]);
// Load HTML to Dompdf
$dompdf->loadHtml($html);
// (Optional) Setup the paper size and orientation 'portrait' or 'portrait'
$dompdf->setPaper('A4', 'portrait');
// Render the HTML as PDF
$dompdf->render();
// Output the generated PDF to Browser (inline view)
$dompdf->stream("mypdf.pdf", [
"Attachment" => false,
]);
}
PDF的标题
{{title}}
同侧眼睑
{%if参数sadmin.logonName%}
{% set var = absolute_url(vich_uploader_asset(parametresAdmin, 'logoFile')) %}
<img style="width:90px;" src="{{var}}">
{%endif%}
{% set var = absolute_url(vich_uploader_asset(parametresAdmin, 'logoFile')) %}
<img style="width:90px;" src="{{var}}">
编辑:直接从文件使用绝对路径时,如:
“C:\Users\user\Desktop\churchest2\public\admin\logo\avatar2.jpg”
它起作用了
但如果绝对路径是:
http://........
在这种情况下:
它不起作用。但我需要这条路
谢谢你的帮助 你有远程图像吗?是:$pdfOptions->set('isRemoteEnabled',true);对不起,我读得太多了。我唯一能想到的是,
DOMPDF
没有访问temp文件夹的权限,无法将图像写入temp文件夹。这是否意味着我无法访问托管在服务器上的实体的图像?您可以尝试使用$DOMPDF->setOption('tempDir',DIR.'/my/tempfolder')更改temp
文件夹代码>
/* Uses */
use Dompdf\Dompdf;
use Dompdf\Options;
/*Fonction*/
/**
* Générer un PDF
* @Route("/absence/pdf", name="absence_pdf")
*
* @return void
*/
public function createPDF(ParametresAdminRepository $repoParametres)
{
$parametresAdmin = $repoParametres->findAll();
if (isset($parametresAdmin[0])) {
$parametresAdmin = $parametresAdmin[0];
} else {
$parametresAdmin = new ParametresAdmin();
}
// Configure Dompdf according to your needs
$pdfOptions = new Options();
$pdfOptions->set('isRemoteEnabled', true);
// Instantiate Dompdf with our options
$dompdf = new Dompdf($pdfOptions);
$dompdf->set_option('isHtml5ParserEnabled', true);
// Retrieve the HTML generated in our twig file
$html = $this->renderView('absence/pdf.html.twig', [
'title' => "Welcome to our PDF Test",
'parametresAdmin' => $parametresAdmin
]);
// Load HTML to Dompdf
$dompdf->loadHtml($html);
// (Optional) Setup the paper size and orientation 'portrait' or 'portrait'
$dompdf->setPaper('A4', 'portrait');
// Render the HTML as PDF
$dompdf->render();
// Output the generated PDF to Browser (inline view)
$dompdf->stream("mypdf.pdf", [
"Attachment" => false,
]);
}
<html>
<head>
<meta charset="UTF-8">
<title>Title of the PDF</title>
</head>
<body>
<h4>{{ title }}</h4>
<p>Lorem Ipsum</p>
{% if parametresAdmin.logoName %}
<img style="width:90px;" src="{{absolute_url(vich_uploader_asset(parametresAdmin, 'logoFile'))}}">
{% endif %}
</body>
</html>