各种论坛已经提出了这个问题数百次; 有些已经解决了,有些则没有.我检查了大量资源,但我的问题无法解决.我正在使用基于html表单输入和上传文件的smarty模板生成php页面.使用dompdf,我想将生成的页面保存为pdf文件.当用户提交multipart/form-data时,数据将发布到自身.然后它经历验证过程.当一切正常时,使用模板文件生成新页面.没有输出,相反,dompdf利用模板文件来传输pdf文件.在解决了几个阶段的问题,例如"未找到DOMPDF",内存不足等问题之后,我现在仍然遇到"无法流式传输pdf:已发送的标头"错误.最常见的问题之一是存在断线,调用stream()之前的空格或任何输出.我前后检查了空白区域?还有print_f或echo语句.我该如何解决这个问题?问题在哪里......在smarty模板文件或php文件本身?这是代码:
require_once("dompdf/dompdf_config.inc.php");
spl_autoload_register('DOMPDF_autoload');
$html = $smarty->fetch('index.tpl');
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->set_paper('a4', 'portrait');
$dompdf->render();
$dompdf->stream("newfile.pdf");
Run Code Online (Sandbox Code Playgroud)
Muh*_*mad 13
简单解决方案
在流之前写下面的行,它将显示新的行或空间的来源
$f;
$l;
if(headers_sent($f,$l))
{
echo $f,'<br/>',$l,'<br/>';
die('now detect line');
}
Run Code Online (Sandbox Code Playgroud)
很可能是代码中某个地方有空格或换行导致了这种情况。这是一个简单的调试方法:
echo "end!";exit;另一种可能性是您在某处使用的语言字符串引入了不可打印的字符。如果您的应用程序是多语言的,请确保您使用英语进行测试
| 归档时间: |
|
| 查看次数: |
22742 次 |
| 最近记录: |