我需要创建一个包含php变量和js生成内容的php页面的PDF文件。
我尝试使用mPDF和以下脚本实现此目的:
require_once "libraries/mpdf/mpdf.php";
ob_start(); // start output buffering
include 'appartamento.php';
$content = ob_get_clean(); // get content of the buffer and clean the buffer
$mpdf = new mPDF();
$mpdf->SetDisplayMode('fullpage');
$mpdf->WriteHTML($content);
$mpdf->Output(); // output as inline content
但是,生成的pdf只包含很少的php页面内容,我不知道在pdf文件中显示整个内容需要做些什么。
有什么想法吗?
答案 0 :(得分:2)
要生成动态内容,请将$content = $content . "Your additional Content";
变量视为任何PHP变量并最初设置它。
之后,在循环中填充内容的地方,请确保使用以下逻辑。
$mpdf->WriteHTML($content);
$mpdf->Output();
exit;
通过这种方式,您将附加到您的变量。
最后,使用以下代码生成PDF。
$content
您可以轻松使用$mpdf=new mPDF('win-1252','A4','','',20,15,55,25,10,10); //This is where you set page size and margins. Feel free to use as is.
$mpdf->useOnlyCoreFonts = true; // false is default.
$mpdf->SetProtection(array('print')); //You can find out about these details in mPDF guidelines.
$mpdf->AliasNbPages(['PAGETOTAL']); // PAGETOTAL gives you the value of Total Pages of your generated PDF.
$mpdf->SetTitle($your_title); //You can even set the PDF Title based on your Data.
$mpdf->SetAuthor($author_name); //You can set Author's Name as well
$mpdf->SetWatermarkText($watermark_text); //You can even set Watermark Text
$mpdf->showWatermarkText = false; //True if you want to show watermark
$mpdf->watermark_font = 'DejaVuSansCondensed'; //Can even change Watermark Font
$mpdf->watermarkTextAlpha = 0.05; //Opacity of Watermark Text
$mpdf->SetDisplayMode('fullpage'); //Obvious as mentioned
$content = $content . 'Your ' . $content . ' can be added this way.'; //This can be any HTML.
$mpdf->WriteHTML($content); //You can now compile your content and show in PDF.
$mpdf->Output(); //finally output it.
中的几乎所有HTML标记。只有一些标签不受支持。
就是这样!
我已添加了逐步过程,以确保您使用动态数据成功生成PDF。
<body>
除此之外,请注意以下内容。
mPDF分为三个主要部分。这些内容位于HTML的<htmlpageheader name="myheader">
。
</htmlpageheader>
- 在每个页面上重复此操作作为标题。可以是页面模板中的徽标。将关闭<htmlpagefooter name="myfooter">
。
</htmlpagefooter>
- 这与标题类似但位于底部。将关闭<body>
。<htmlpageheader name="myheader">
。要显示<htmlpagefooter name="myfooter">
和<sethtmlpageheader name="myheader" value="on" show-this-page="1" />
<sethtmlpagefooter name="myfooter" value="on" />
,请使用以下代码行。
@Override
public void configure(final WebSecurity web) throws Exception
{
web.ignoring().antMatchers("oauth/**");
}
遵循这个逻辑,然后尝试。
答案 1 :(得分:-1)
您可以使用fpdf库。它允许您从PHP编写pdf。
答案 2 :(得分:-1)
你一定要看看这个。顺便说一下,这是一篇非常有用的帖子:https://github.com/dompdf/dompdf
如果您对此不熟悉,您可能希望了解最终如何呈现某些示例:https://dompdf.net/examples.php