2014-01-23 64 views
0

我需要能夠以電子郵件的形式發送PHP版本的HTML頁面(CSS樣式完好無損,因爲某些標記在@media print{}子句中設置爲display: none)。使用MPDF將HTML保存爲PDF和電子郵件

我發現mpdf看起來相對容易,看起來像一個堅實的解決方案。該課程提供了在飛行中email a PDF file的能力。這很棒。

我的困境是:

我想送page_1.php的內容send_email.php作爲URL變量作爲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替代會更可行嗎?

任何幫助都會非常出色!

+0

PS:我想php文件的輸出轉換成PDF – proPhet

+1

將包括工作的目的是什麼?但是,如果你在sendemail.php中包含了整個page_1.php,爲什麼不讓代碼在page_1.php中發送電子郵件? – BFWebAdmin

+0

@BFDatabaseAdmin,這可以解決CSS樣式保留問題。但我仍然需要頁面的內容在一個變量中使用MPDF .. – proPhet

回答

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); 
相關問題