将 DOMElement 正文发送到另一个 php

Send DOMElement body to another php

我想从 html 文档生成 Pdf 文档。我正在使用 mPDF class.

我的想法是从 html 获取正文元素并将其发送到我的 pdfgenerator php。 像这样:

$mpdf=new mPDF();
$mpdf->Bookmark('Start of the document');
$mpdf->WriteHTML($_POST['html']);
$mpdf->Output();

问题:如何通过 html 的 PHP DOM 扩展获取 body 元素并将其发送到 pdfgenerator?

您可以使用

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)

如果您打算这样做,您可以使用 jQuery(或 AJAX)将 post 内容添加到您的 html。

代码写得很快,可能并不完美 - 请将其用作灵感,而不是抄袭。

var html = $('body').innerHTML();
$.ajax({
  type: "POST",
  url: /pdfgenerator.php,
  data: data,
  success: success,
});

在 javascript 中创建一个带有文本区域的表单并添加到 iframe 中。然后添加一个处理程序 onclick,以便在单击按钮时,javascript 添加 body.html(如果需要,还可以添加 <body></body> 标签到 iframe 表单文本区域并提交给您的其他 php )

或者您可以使用 Ajax 来 post 类似的请求

使用jquery获取html,AJAX获取posthtml数据

var html = $('body').innerHTML();
$.post( "pdfgenerator php", {html: html}, function( data ) {

});

确保将 css 文件添加到 pdfgenerator.php

$stylesheet = file_get_contents('style.css');
$mpdf->WriteHTML($stylesheet,1);
$mpdf->WriteHTML($_POST['html'],2);
$mpdf->Output();