php - mPDF 错误:数据已发送到输出,无法输出 PDF 文件
问题描述
我创建了一个php
代码来使用mPDF
. 该代码在本地正常工作。但在服务器上显示此错误:
数据已经发送到输出,无法输出PDF文件
我在网上搜索并从stackoverflow中找到了这些解决方案,但它们都不起作用。我尝试了所有这些解决方案,但没有一个有效。
1- 之前没有输出
2- 我在创建 PDF 之前设置$pdf->Output()
3-我
与包含库一起使用echo
ini_set("session.auto_start", 0);
ob_end_clean
mPDF
但是,当我将输出参数从 更改$pdf->Output('file.pdf','D')
为 时$pdf->Output('file.pdf','F')
,pdf 正在目录中正确创建。(D
表示下载文件,F
表示将文件保存在目录中)
为什么mPDF
可以在服务器上创建 PDF 但不能发送到浏览器并强制下载文件?关于为什么无法通过D
参数下载文件的任何建议?
编辑#1:代码:
<?php
include "/DIR/cost/mpdf/vendor/autoload.php";
if (isset($_POST['hazine'])) {
try{
$mpdf = new \Mpdf\Mpdf();
$rand = rand();
$stylesheet1 = file_get_contents('/DIR/cost/style.css');
$mpdf->WriteHTML($stylesheet1, 1);
ob_start();
include "/DIR/cost/entere_data.php";
include "/DIR/cost/php.php";
ob_end_clean();
include '/DIR/cost/footer.php';
ob_end_clean();
$dir = '/DIR/DCC/DDC' . $rand . '.pdf';
$pdf_file = 'DDC' . $rand . '.pdf';
$mpdf->Output($pdf_file, 'D');
}
} catch(\Mpdf\MpdfException $e){
echo $e->getMessage();
}
}
include "/DIR/cost/form.php";
?>
这 3 包括:include "/DIR/cost/entere_data.php";
, include "/DIR/cost/php.php";
,include '/DIR/cost/footer.php';
是 PDF 文件内容。
解决方案
推荐阅读
- c++ - 继承 QObject 的类中的方法在调用时被识别为属性,不运行方法
- arrays - 在设定的时间之间创建日期/时间数组
- python - 将字符串的每个单独字母转换为等效的 ASCII - Python
- python - 如果用户没有在python3中提供语音输入,如何手动获取用户输入
- regex - 如何为自定义语法高亮编写正则表达式
- php - json解码不适用于带有数组的字符串
- javascript - string.startsWith() 通配符或正则表达式
- python - 将 CSV 直接转换为算术运算变量的最佳方法?
- asp.net-core - Log4Net 备份附加程序
- reactjs - 如何引用动态创建的文本字段(在 Formik 中)?