我试图使用MPDF库生成PDF。
try {
$mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML('Hello World');
// Other code
$mpdf->Output("1.pdf", 'D');
} catch (\Mpdf\MpdfException $e) { // Note: safer fully qualified exception name used for catch
// Process the exception, log, print etc.
echo $e->getMessage();
}
我收到此错误消息。
数据已发送到输出,无法输出PDF文件
我使用了ob_end_clean(),但是没有用。 我在此问题中使用了所有答案,但对我没有任何帮助。 TCPDF和mPDF错误:一些数据已经输出到浏览器,无法发送PDF文件
答案 0 :(得分:0)
我有同样的错误。
Data has already been sent to output, unable to output PDF file
这意味着在使用mPDF创建pdf之前,一些数据存储在缓冲区中,然后发送到浏览器。因此,它无法创建PDF。
只需执行此操作即可。如果您正在准备pdf数据,请在页面第一行的php内置函数下方添加此代码。
op_start();
enter code here
并在mPDF代码之前(在调用mpdf之前)在php内置函数下面添加此代码
ob_end_flush();
require_once __DIR__ . '/vendor/autoload.php';
$mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML($html);
$mpdf->Output();
以便在处理mPDF之前清除所有缓冲区输出。
请确保如果您使用任何功能,然后将其保留在同一页面中,则不要在保留所有功能的功能页面中将其保留。
答案 1 :(得分:0)
对我来说,插入 <?php
而不是 <?
很有帮助。