我想从html文档生成一个Pdf文档。我正在使用mPDF类。
我的想法是从html中获取body元素,并将其发送到我的pdfgenerator php。类似这样的东西:
$mpdf=new mPDF();
$mpdf->Bookmark('Start of the document');
$mpdf->WriteHTML($_POST['html']);
$mpdf->Output();
问题:如何通过PHP DOM扩展从我的html中获取body元素并将其发送到pdfgenerator?
如果你打算这样做,你可以使用jQuery(或AJAX)将内容发布到你的html中。
代码写得很快,可能并不完美——请用它作为灵感,而不是模仿。
var html = $('body').innerHTML();
$.ajax({
type: "POST",
url: /pdfgenerator.php,
data: data,
success: success,
});
您可以使用
document.body.innerHTML
以获取html。然后使用XMLHttpRequest 发送
var html = document.body.innerHTML;
var httpRequest = new XMLHttpRequest();
httpRequest.open('GET', 'http://example.com/pdfgeneration.php', true);
httpRequest.send('html=' + encodeURIComponent(html)
用javascript创建一个带有文本区域的表单,并在iframe中添加插件。然后添加一个处理程序onclick,这样当点击按钮时,javascript会添加body.html(如果需要,还可以将<body></body>
标记添加到iframe表单文本区域并提交到其他php)
或者,您可以使用Ajax以类似的方式发布请求
使用jquery
获取html,使用AJAX
发布html数据
var html = $('body').innerHTML();
$.post( "pdfgenerator php", {html: html}, function( data ) {
});
确保在pdfgenerator.php
中添加css文件
$stylesheet = file_get_contents('style.css');
$mpdf->WriteHTML($stylesheet,1);
$mpdf->WriteHTML($_POST['html'],2);
$mpdf->Output();