Dompdf - 获取'未定义的属性:DOMText :: $ data'

时间:2017-05-08 11:23:14

标签: php dompdf

我们使用dompdf几个月没有任何问题。最近我们在服务器(Ubuntu 16.04)和修复它们并重新启动之后遇到了一些其他问题。似乎DOMDocument已经消失,我们重新安装它(在PHP 7.0上)。但我们不能让它再次运作。

我们的代码:

$dompdf = new Dompdf();  
$dompdf->loadHtml("hello world");
$dompdf->render();
$dompdf->stream("document");

之后只发生以下两件事:

1)当我们评论$ dompdf-> stream()行时,它只会显示以下消息:

注意:未定义的属性:第71行的/var/www/project/vendor/dompdf/src/FrameDecorator/Text.php中的DOMText :: $ data

2)取消注释时,只生成空白PDF。

我们在这里迷失了好几天,任何形式的帮助都会很棒。

非常感谢提前。

问候。

如果我们使用

var_dump($this->_frame->get_node()); 

来自消息的行(/var/www/project/vendor/dompdf/src/FrameDecorator/Text.php)

......它抛出了这个:

object(DOMText)#1221 (17) {
  ["data"]=>  string(0) ""
  ["nodeName"]=>  string(5) "#text"
  ["nodeValue"]=>  string(11) "hello world"
  ["nodeType"]=>  int(3)
  ["parentNode"]=>  string(22) "(object value omitted)"
  ["childNodes"]=>  NULL
  ["firstChild"]=>  NULL
  ["lastChild"]=>  NULL
  ["previousSibling"]=>  NULL
  ["nextSibling"]=>  NULL
  ["attributes"]=>  NULL
  ["ownerDocument"]=>  string(22) "(object value omitted)"
  ["namespaceURI"]=>  NULL
  ["prefix"]=>  string(0) ""
  ["localName"]=>  NULL
  ["baseURI"]=>  NULL
  ["textContent"]=>  string(11) "hello world"
}

无论如何,谢谢你的帮助。真的:)

2 个答案:

答案 0 :(得分:0)

我一直在成功使用domPDF,与常规的唯一区别在于$dompdf->loadHtml(...);$dompdf->render();之间我用

设置纸张尺寸
$dompdf->setPaper('A4', 'portrait');

您可以尝试添加它 - 不确定它是否有所作为。

答案 1 :(得分:0)

我遇到了这个麻烦, 就我而言,我的应用程序可以在开发环境(Windows和Windows Server,Apache,PHP)中工作,但在生产中出现了问题(Ubuntu 18,nginx,php7.2-fpm)。

运行此命令时:php --ini;我收到以下警告!

警告:模块“ dom”已在第0行的“未知”中加载警告: 模块“ mbstring”已在第0行的“未知”中加载警告: ........................警告:模块“ xxx”已加载 在第0行上未知

所以我像在以下帖子中一样修复它们:herehere

请记住,dompdf使用php'dom'扩展等。因此,如果dompdf中发生任何问题,那么dompdf将无法正常工作。