我正在使用数据库中的值生成动态html页面。用户可以选择“隐藏”div并操纵页面上的其他元素。我想将页面上的所有HTML发送到DOMPDF并让它为我生成下载链接。
<a href="dl.php">Download</a>
dl.php会有这样的东西,其中html被发送到DOMPDF并生成:
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("myCV.pdf");
然而,由于用户正在操作页面上的DOM而我想摆脱链接之类的东西,我正在使用jquery来抓取html
$('a').wrap('<span style="display:none;"></span>');
var fullhtml = $("#body").html();
fullhtml = encodeURIComponent(fullhtml);
annnndd因为它是一个大页面,我不能使用GET,必须使用POST来发送html。我怎么才能得到它,以便我可以用html到dl.php进行AJAX调用,然后“包含”页面以便它运行?如果我从AJAX调用中返回任何内容,则pdf文件将转换为文本,这是一个混乱。
答案 0 :(得分:3)
我不确定我是否完全理解您的问题,但据我了解,您正在使用页面的HTML,隐藏所有链接,然后将整个内容提交到{{1 }}, 对?所以dl.php
会这样说:
dl.php
右?
您可以让用户通过单击链接启动此过程,此时您在提交之前使用隐藏的输入填充已处理的HTML(链接隐藏等),即:
$html = urldecode($_POST['html']);
$dompdf = new DOMPDF();
$dompdf->load_html($html);
//...
这样的事情应该会为您的用户提供生成的PDF。