关于在domPDF库中注册和使用jQuery的问题


Issue on Registering and Using jQuery in domPDF Library

我需要根据用户选择动态加载一些html内容到print.php页面,该页面使用php dompdf库将html导出为PDF。现在我必须在html中包含jQuery和其他一些js库,但jQuery似乎没有正确注册(甚至根本没有注册)。在下面的例子中,我只是试图通过使用.html()将文本简单地插入到#result中,但输出时却得到了空的PDF。

<?php
require_once("dompdf_config.inc.php");
$codigo= '
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="result"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
  $( document ).ready(function() {
        $( "#result" ).html( "This is Test" );
});
</script>
</body>
</html> 
';
$codigo = utf8_decode($codigo);
$dompdf = new DOMPDF();
$dompdf->load_html($codigo);
ini_set("memory_limit","32M");
$dompdf->render();
$dompdf->stream("ejemplo.pdf");

你能告诉我这是否可行,或者我在这里做错了什么吗?

感谢

dompdf仅支持HTML+CSS。JavaScript(以及jQuery)根本不受支持。为了让dompdf呈现任何通过JavaScript动态生成的内容,您必须在浏览器中捕获页面内容并将其发送回服务器。您可以使用隐藏的表单,从文档中捕获相关内容,将其插入表单中的textarea字段,然后将其提交回服务器/domppdf进行呈现。

如果你想在渲染中与浏览器完全兼容,你需要看看PhantomJS之类的东西。