在同一页面上生成下载链接到DOMPDF生成的pdf

时间:2011-08-08 20:12:17

标签: php jquery ajax dompdf

我正在使用数据库中的值生成动态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文件将转换为文本,这是一个混乱。

1 个答案:

答案 0 :(得分:3)

我不确定我是否完全理解您的问题,但据我了解,您正在使用页面的HTML,隐藏所有链接,然后将整个内容提交到{{1 }}, 对?所以dl.php会这样说:

dl.php

右?

您可以让用户通过单击链接启动此过程,此时您在提交之前使用隐藏的输入填充已处理的HTML(链接隐藏等),即:

$html = urldecode($_POST['html']);
$dompdf = new DOMPDF();
$dompdf->load_html($html);
//...

这样的事情应该会为您的用户提供生成的PDF。