使用MPDF将HTML另存为PDF和电子邮件

时间:2014-01-23 11:10:46

标签: javascript php html css mpdf

我需要能够发送PDF版本的PHP页面的HTML(CSS样式完整,因为某些标签在display: none子句中设置为@media print{})作为电子邮件。

我发现mpdf看起来相对容易,看起来像是一个可靠的解决方案。该课程提供email a PDF file动态的能力。这很棒。

我的困境如下:

我想将page_1.php的内容作为url变量发送到send_email.php,以用作PDF内容。

要存储此变量,我尝试过:

ob_start(); // at the top of the page

    // THE DYNAMICALLY GENERATED PAGE CONTENT

$html = ob_get_contents(); // I put the page contents into a variable
ob_end_clean();

出于某种原因,这不会让页面完全加载。只显示几个标签。 ob_get_contents();ob_end_clean();位于结束</html>标记之前。这是一个潜在的原因吗? 我需要在页面结束之前使用这些函数,以便在我创建的实际“电子邮件链接”中使用更高的变量。

我也尝试过:

$page_url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; // to grab the current url
$html = file_get_contents($page_url); // place contents in a variable

出于某种原因,这不允许加载网站上的任何页面。所有人都是浏览器网址输入中的旋转轮。

即使我可以将页面内容放入变量并将其解析为send_email.php,在创建PDF时如何保留CSS属性?

javascript替代方案会更可行吗?

任何帮助都会很出色!

1 个答案:

答案 0 :(得分:1)

我已成功将html发布到php文件:

$html = $_POST['html'];
$head.= '<link rel="stylesheet" type="text/css" href="/app/css/app.css" /> ';
$head.= '<link rel="stylesheet" type="text/css" href="/app/css/pdf_style.css" /> ';
require_once 'mpdf/mpdf.php';
$mpdf = new mPDF('', 'Letter', 0, '', 12.7, 12.7, 12.7, 12.7, 0, 0);
$mpdf->WriteHTML($head.$html,0);