2013-10-31 39 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

相关问题