将css放入文档进行打印时无法传输pdf

时间:2013-06-23 06:47:50

标签: css character-encoding inline dompdf

我正在使用DOMPDF最新版本DOMPDF 0.6.0 beta 3。问题是我无法将任何css代码放到文档中。我每次尝试时都会说Unable to stream pdf: headers already sent。无论我试图删除任何空格也不删线。

这不起作用:

h1{
border:solid 3px red;
color:red;   
}

但这一项工作:

<h1 style="border:solid 3px red;color:red;">Copy Only</h1>

我也不能在文档中添加字符集。

<meta charset="utf-8" />

因为字符集不起作用。我的文件是不可读的 - 它不仅是英文,还有其他文字。

请建议。

3 个答案:

答案 0 :(得分:0)

“无法传输pdf:已发送的标头”表示在dompdf能够发送PDF之前,某些内容已发送到浏览器。根据以前的经验,PHP可能会在内容流中插入警告。如果渲染而不流式传输PDF,则可以看到警告并解决问题。或者在文本编辑器中打开PDF;警告将位于文件的顶部。

此外,您可能将display_errors php.ini设置设置为1 / true,并且还使用输出缓冲。通常我们建议您禁用向浏览器发送错误和/或禁用输出缓冲。

答案 1 :(得分:0)

我已经尝试更改脚本中的所有内容以摆脱空白区域。但不行。现在我删除了PHP代码之前的所有内容,然后工作。内部css已删除并将其用作内联。

感谢您的帮助。

答案 2 :(得分:0)

这解决了我的编码问题 - 使用

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

(见https://github.com/dompdf/dompdf/wiki/UnicodeHowTo