2016-03-07 87 views
3

我正在創建某種文檔生成器。我通過表單發送數據,它在下一頁中加載。現在我需要一個按鈕,將這個文檔下載爲pdf文件。 有沒有辦法做到這一點?我看到過幾個類似的主題,但他們通常直接轉到在線轉換器,它們並不幫助我下載頁面爲pdf文件

+1

http://php.net/manual/en/pdf.examples-basic.php這可能會幫助你 – Thamaraiselvam

+1

http://stackoverflow.com/questions/35679170/php-save-form-to-image-or -pdf-with-styling/35680056#35680056這可能會幫助你 – 2016-03-07 10:34:30

+1

[看看這個jspdf](http://stackoverflow.com/questions/6896592/is-it-possible-to-save-html-page-as -pdf-using-javascript-or-jquery)這會幫助你。它只使用JavaScript –

回答

2

您可以使用FPDF,這是一個很好的開源解決方案來生成PDF並支持多種類型的PDF版式。這個解決方案可以用PHP實現。

FPDF是一個PHP類,它允許使用純PHP生成PDF文件,也​​就是說不使用PDFlib庫。 FPDF的F表示免費:您可以將其用於任何形式的使用,並對其進行修改以適應您的需求。

要使用PHP從HTML生成PDF,您可以使用mpdf。您可以使用PHP's built-in function

4

我在過去以更多方式做了類似的事情。 如果你想避免在線轉換器,那麼我認爲你應該選擇使用PHP庫還是(如果你有在服務器上訪問)一個專用軟件。

有一些很好的PHP庫旨在以創建PDF,如: - TCPDF(www.tcpdf.org) - FPDF(www.fpdf.org)

如果你有服務器的訪問,我建議你使用: - wkhtmltopdf(www.wkhtmltopdf.org) 但在這種情況下,您需要先將文檔創建爲靜態html文件,其中包含所有樣式和內容。 然後你可以在這份執行HTML轉換成PDF只需通過一個條命令:

wkhtmltopdf /path/to/document.html /path/to/generated.pdf

乾杯

1

我用MPDF。機制的文檔:http://mpdf1.com/manual/index.php?tid=452 您可以添加自己的CSS文件,頁眉,頁腳等

<?php 
include("config.php"); 
include("MPDF54/mpdf.php"); 

$i = 0; 
if(isset($_POST['apstiprinat'])){ 
    $patiess = $_POST['apstiprinat']; 
    if($patiess == "apstiprinat"){ 
     function prieksmeti_izdruka(){ 
      $pr = ""; 
      $i = 0; 
      $result = mysql_query("SELECT prieksmets FROM prieksmeti"); 
      $pr .= "<table>"; 
      $pr .= "<tr><td><b>Nr.</b></td><td><b>Prieksmeta nosaukums</b></td></tr>"; 
       while($row = mysql_fetch_array($result)){ 
       $i++; 
        $pr .= "<tr><td>{$i}.</td><td>{$row['prieksmets']}</td></tr>"; 
       } 
      $pr .= "</table>"; 
      return $pr; 
     } 

     $html = "".prieksmeti_izdruka().""; 
     $mpdf=new mPDF('utf-8'); 
     $mpdf->SetHeader('Mācību priekšmeti {DATE D-M-Y}'); 
     //$mpdf->setFooter('{PAGENO}'); 
     $mpdf->useOnlyCoreFonts = true; 
     $mpdf->SetDisplayMode('fullpage'); 
     $stylesheet = file_get_contents('noformejums.css'); 
     $mpdf->WriteHTML($stylesheet,1); 
     $mpdf->WriteHTML($html); 
     $mpdf->Output(); 
     exit; 
    } 
} 
else { echo "Izdrukas apstiprinājums nav saņemts!;(";} 
?> 

減去這個libary的是,你需要複製你的代碼。這個庫文件接受一個參數。在這種情況下$pr我添加所有字符串。

而另一個減號是,如果你需要pdf格式非常長的表格(大約100頁),那麼它很長的生成這個文件。

1

我認爲你需要尋找一個庫,可以免除你所有重複的工作和重複的代碼,如TCPDF或FPDF。同時你會學到一些能夠幫助你進行未來作品的互動技能。