如何在使用 mpdf 创建 pdf 文件之前查看 pdf 文件内容



链接到我的JsFiddle(期望的输出(

对象: 我在那里得到的 HTML 正是我在 PDF 中所需要的,但是当我尝试在我的代码点火器控制器中使用 mPdf 库生成 PDF 时,输出看起来很糟糕。

问题: 我想找到一种方法来调试此PDF文件中的内容以及导致输出出错的原因。我想在PDF变成文件之前看到PDF中生成的HTML。

我的PHP代码创建一个PDF文件:

$mpdf = new Mpdf();
$style1 = file_get_contents(base_url('public/admin/css/formstyles.css')); // external css
$style2 = file_get_contents(base_url('public/admin/bootstrap/css/bootstrap.min.css'));
$mpdf->WriteHTML($style1,MpdfHTMLParserMode::HEADER_CSS);
$mpdf->WriteHTML($style2,MpdfHTMLParserMode::HEADER_CSS);
$mpdf->WriteHTML($data['template'],MpdfHTMLParserMode::HTML_BODY);
// I want to check the TOBE PDF output so that I can see what is wrong with my content here
$mpdf->Output($path.$company_id.'/'.$template_id.'.pdf', MpdfOutputDestination::FILE); // opens in browser

任何帮助不胜感激。

如果我能理解你,那么你可以这样做(我已经用这种方式检查过(:

$mpdf = new Mpdf();
$style1 = file_get_contents(base_url('public/admin/css/formstyles.css')); // external css
$style2 = file_get_contents(base_url('public/admin/bootstrap/css/bootstrap.min.css'));
$mpdf->WriteHTML($style1,MpdfHTMLParserMode::HEADER_CSS);
$mpdf->WriteHTML($style2,MpdfHTMLParserMode::HEADER_CSS);
$mpdf->WriteHTML($data['template'],MpdfHTMLParserMode::HTML_BODY);
// capture the output into buffer
ob_start();
$mpdf->Output($path.$company_id.'/'.$template_id.'.pdf', MpdfOutputDestination::FILE); // opens in browser
// holds the buffer into a variable
$html = ob_get_contents(); 
ob_get_clean();
// creates a html file with contents at root
file_put_contents('htmlFile.html', $html); 

而且,如果您想在不创建文件的情况下在浏览器上查看pdf的输出,则必须使用以下代码:

$mpdf->Output($path.$company_id.'/'.$template_id.'.pdf', MpdfOutputDestination::INLINE); // Sends output inline to browser

或者您也可以使用

$mpdf->Output($path.$company_id.'/'.$template_id.'.pdf', "I"); // Sends output inline to browser

因此,每当您更改pdf文件的任何代码时,只需在浏览器中刷新生成的pdf,您就会看到更改。

您可以从这里获得更多关于 mpdf 输出模式的了解 这里 https://mpdf.github.io/reference/mpdf-functions/output.html

相关内容

  • 没有找到相关文章

最新更新