2013-02-15 105 views
0

我有一個訂單,用戶下訂單並在下訂單後,他們是用jquery生成的發票,要求他們打印。我希望能夠只將包含發票的div提交給引擎,或者將其轉換爲pdf,然後將其打印出來。還有,如何在打印時僅使該部分可用,以便打印輸出僅包含訂單發票並隱藏頁面的所有其他藥水。 僞代碼:將特定部分div轉換爲pdf

Function make_pdf($html){ 
    // run thought the submitred html 
    // create pdf version 
    // make available for download. 
    } 
+0

http://code.google.com/p/wkhtmltopdf/ – 2013-02-15 05:36:37

+1

我假設你想創建一個PDF作爲輸出在新標籤頁PDF文件,而不是使用打印功能,然後將其保存爲文件。我會建議[FPDF](http://www.fpdf.org)。這個庫已經過很好的測試並創建了無縫的pdf。 – coder101 2013-02-15 05:46:13

回答

0

您可以使用jQuery Print Elementhere。當打印一個div,你只需要調用插件的功能:

$('#invoiceContainer').printElement(); 

您可以通過DIV的ID containts發票,那麼你可以將其保存爲PDF格式。

+0

您不能依靠客戶端腳本來生成PDF。瀏覽器可能會/可能不包含插件。 – vedarthk 2013-02-15 05:44:32

+0

這是一個jQuery插件,不是那種在客戶端瀏覽器上安裝的插件。它必須被合併到頁面中。 – 2013-02-15 05:49:42

+0

Javascript代碼如何生成PDF文件? – vedarthk 2013-02-15 05:53:05

0

使用打印按鈕來調用功能。

  1. 在打印按鈕的onclick事件處添加一個javascript函數。獲取收據div的內容(使用jQuery:。$('#receipt').html()或JavaScript document.getEmementById('invoice').innerHTML')
  2. 這些內容添加到表單中的隱藏變量表單提交給一個專門的PHP文件(<form target='_blank') 你拿到後數據在專門的PHP文件。

  3. $html = $_POST['hiddenHtml'];

  4. $pdf->writeHTML($html, true, false, true, false, '');

+0

你在用什麼庫? – Notflip 2015-07-15 08:34:23

0

您需要某種形式的PDF生成器,用於運行服務器端,發佈必要的信息。有幾個常見的PDF生成器庫,但我不確定他們的能力。看看這篇文章:

PHP PDF Generator Advice

做的是找到一個支持HTML到PDF轉換而直接通過AJAX等張貼的HTML標記給服務器,否則無需轉換的最簡單的事情,你將必須從表單傳遞原始數據併爲PDF服務器端模板,同時將數據插入相對佔位符中。然後,將PDF輸出回客戶端,並提供正確的標題,以便用戶下載文件。

如:header('Content-type: application/pdf');