2013-10-31 35 views
0

我正在WordPress網站上工作。並在前端我給予的功能,創建一個簡歷在線&提交表格,他將得到一個選項下載&打印PDF格式的簡歷。直到現在一切工作正常如果我傳遞一個簡單的HTML文件轉換成PDF。但我想從插入數據庫的簡歷字段中創建PDF。如果我通過純HTML文件進行轉換,它工作正常。 但是,如果我想創建一個PHP文件的動態PDF文件。 這裏是我嘗試過的代碼: 我已經使用了html2pdf轉換庫。如何將接受數據庫數據的動態php文件轉換爲pdf?

這是一個從test.php調用的文件。

require("html2pdf/html2fpdf.php"); 

$htmlFile = "test.php"; 
$buffer = file_get_contents($htmlFile); 

$pdf = new HTML2FPDF('P', 'mm', 'Letter'); 
$pdf->AddPage(); 
$pdf->WriteHTML($buffer); 
$pdf->Output('test.pdf', 'F'); 

而且test.php的文件是:

<html> 
    <body> 
     <?php 
      $username = ""; 
      $password = ""; 
      $hostname = ""; 
      $dbname = ""; 

      // Create connection 
      $con = mysqli_connect($hostname, $username, $password, $dbname); 

      // Check connection 
      if (mysqli_connect_errno($con)) 
      { 
       echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
      } 

      echo $result = mysqli_query($con,"SELECT * FROM wp_resume ORDER BY id DESC LIMIT 1"); 
      echo "hioooooo"; 
      while($row = mysqli_fetch_array($result)) 
      { 
       ?> 
       <div> 
        <label>First Name</label><script type="text/php"><?php echo $row['firstName']; ?></script><br> 
        <label>Last Name</label><script type="text/php"><?php echo $row['lastName']; ?></script><br> 
       </div> 
       <?php 
      } 
     ?> 
    </body> 
</html> 

現在遞交表格後,我得到只包含這個數據的PDF文件:

  • 姓氏

我想插入條目的所有細節。顯然,這會忽略<?php ?>標籤中的代碼。所以即使我使用var_dump(),我也沒有得到任何東西。

所以請幫助我在這個傢伙。我如何將PHP數據傳遞給PDF文件。

+1

刪除腳本標籤,它會工作...腳本標記內容不會顯示在HTML顧左右而言他。 – Salketer

+0

嗨,我已經完成了你告訴我要做但沒有運氣的事情。它仍然忽略了PHP代碼。 – vickram

+0

對不起我的錯誤。我已經從你的問題中刪除了你的密碼... – Salketer

回答

2

嘿,我得到了這個解決方案。而正確的代碼是:

 require("html2pdf/html2fpdf.php"); 

     $html = '<h2>Resume</h2>'; 
     $query = "SELECT * FROM wp_resume order by id desc limit 1"; 
     $result = mysqli_query($con,$query); 
     while($row = mysqli_fetch_array($result)) 
     { 
      $html .= '<div> 
         <label>First Name</label> '. $row['firstName'].'<br> 
         <label>Last Name</label> '. $row['lastName']. '<br> 
        </div>'; 
     } 

     $pdf = new HTML2FPDF('P', 'mm', 'Letter'); 
     $pdf->AddPage(); 
     $pdf->WriteHTML($html); 
     $pdf->Output('test.pdf', 'F'); 

我希望這會幫助別人....

0

的file_get_contents返回文件的內容,而不會被解析爲PHP ...

更換

$buffer = file_get_contents($htmlFile); 

隨着

ob_start(); 
include($htmlFile); 
$buffer = ob_end_clean(); 

我們正在做的事情:在打開輸出緩衝區(這樣可以防止echo出現在客戶端),那麼我們就包含PHP文件,以便解析所有文件。請記住,所有回顯都在輸出緩衝區中,因此請使用ob_end_clean()來獲取並使用生成的HTML生成PDF。

+0

嘿,我已經改變了你告訴我。現在我得到的結果是:「1」就是這樣。它甚至沒有顯示html內容「名字」和「姓氏」........怎麼辦? – vickram

相關問題