如何将接受数据库数据的动态php文件转换为pdf?

如何将接受数据库数据的动态php文件转换为pdf?,php,html,wordpress,pdf,html2pdf,Php,Html,Wordpress,Pdf,Html2pdf,我在WordPress网站上工作。在前端,我提供了在线创建简历的功能&在提交表格时,他可以选择下载并打印PDF格式的简历。到目前为止,如果我通过一个简单的html文件转换成PDF,一切都很好。但是我想从数据库中插入的简历字段中创建一个PDF。如果我正在传递普通html文件进行转换,它就可以正常工作。 但如果我想创建PHP文件的动态PDF文件,该怎么办呢。 这是我的代码: 我已经为此使用了html2pdf转换库 这是一个调用test.php的文件 require("html2pdf/html2fp

我在WordPress网站上工作。在前端,我提供了在线创建简历的功能&在提交表格时,他可以选择下载并打印PDF格式的简历。到目前为止,如果我通过一个简单的html文件转换成PDF,一切都很好。但是我想从数据库中插入的简历字段中创建一个PDF。如果我正在传递普通html文件进行转换,它就可以正常工作。 但如果我想创建PHP文件的动态PDF文件,该怎么办呢。 这是我的代码: 我已经为此使用了html2pdf转换库

这是一个调用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文件,其中只包含以下数据:

  • 名字
我想把条目的所有细节都插入。显然,这会忽略
标记中的代码。因此,即使我使用了
var\u dump()
,我也没有得到任何东西


所以请帮我解决这个问题。如何将PHP数据传递到PDF文件。

file\u get\u contents返回文件的内容,而不将其解析为PHP

替换

$buffer = file_get_contents($htmlFile); 


我们正在做的是:打开一个输出缓冲区(这样可以防止echo在出现时进入客户端),然后包含PHP文件,以便对其进行解析。记住所有的回音都在输出缓冲区中,所以使用ob_end_clean()获取它,并使用生成的HTML制作PDF。

嘿,我找到了解决方案。正确的代码是:

      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'); 
require(“html2pdf/html2pdf.php”);
$html='Resume';
$query=“按id描述限制1从wp\U恢复订单中选择*”;
$result=mysqli\u查询($con,$query);
while($row=mysqli\u fetch\u数组($result))
{
$html.='
名字“.$row['firstName']”。
姓氏“.$row['lastName']”。
'; } $pdf=新的HTML2FFD('P','mm','Letter'); $pdf->AddPage(); $pdf->WriteHTML($html); $pdf->Output('test.pdf','F');

我希望这能帮助某人

删除脚本标签,它将工作。。。脚本标签的内容永远不会直接显示在HTML中。嘿,萨尔克特,我已经做了你告诉我要做的事情,但没有运气。它仍然忽略了php代码。对不起,我的错误。我已经从你的问题中删除了你的密码…嘿,我已经做了你告诉我的更改。现在我得到的结果是:“1”就是这样。它甚至没有显示html内容“First Name”和“Last Name”。。。。。。。。怎么办??
      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');