问与答 PHP-如何将DOMPDF生成的内容保存到文件?

william · 2020-03-15 16:39:35 · 热度: 198

我正在使用Dompdf创建PDF文件,但是我不知道为什么它不将创建的PDF保存到服务器。

有任何想法吗?

require_once("./pdf/dompdf_config.inc.php");
    $html =
      '<html><body>'.
      '<p>Put your html here, or generate it with your favourite '.
      'templating system.</p>'.
      '</body></html>';

    $dompdf = new DOMPDF();
    $dompdf->load_html($html);
    $dompdf->render();
    file_put_contents('Brochure.pdf', $dompdf->output());

猜你喜欢:
共收到 3 条回复
guillermo #1 · 2020-03-15 16:39:35

我刚刚使用了dompdf,并且代码有所不同,但是可以正常工作。

这里是:

require_once("./pdf/dompdf_config.inc.php");
$files = glob("./pdf/include/*.php");
foreach($files as $file) include_once($file);

$html =
      '<html><body>'.
      '<p>Put your html here, or generate it with your favourite '.
      'templating system.</p>'.
      '</body></html>';

    $dompdf = new DOMPDF();
    $dompdf->load_html($html);
    $dompdf->render();
    $output = $dompdf->output();
    file_put_contents('Brochure.pdf', $output);

唯一的区别是包括include目录中的所有文件。

除此之外,我唯一的建议是指定用于写入文件的完整目录路径,而不仅仅是文件名。

primo #2 · 2020-03-15 16:39:37

我确实测试了您的代码,我唯一能看到的问题是您尝试将文件写入其中的目录缺少权限。

授予您放置文件所需目录的“写”权限。 您的情况是当前目录。

在Linux中使用“ chmod”。

如果您在Windows中,请将启用了“写入”功能的“所有人”添加到目录的安全性选项卡中。

sven #3 · 2020-03-15 16:39:38
<?php
$content='<table width="100%" border="1">';
$content.='<tr><th>name</th><th>email</th><th>contact</th><th>address</th><th>city</th><th>country</th><th>postcode</th></tr>';
for ($index = 0; $index < 10; $index++) { 
$content.='<tr><td>nadim</td><td>nadim.sheikh.07@gmail.com</td><td>7737033665</td><td>247 dehligate</td><td>udaipur</td><td>india</td><td>313001</td></tr>';
}
$content.='</table>';
//$html = file_get_contents('pdf.php');
if(isset($_POST['pdf'])){
    require_once('./dompdf/dompdf_config.inc.php');
    $dompdf = new DOMPDF;                        
    $dompdf->load_html($content);
    $dompdf->render();
    $dompdf->stream("hello.pdf");
}
?>
<html>
    <body>
        <form action="#" method="post">        
            <button name="pdf" type="submit">export</button>
        <table width="100%" border="1">
           <tr><th>name</th><th>email</th><th>contact</th><th>address</th><th>city</th><th>country</th><th>postcode</th></tr>         
            <?php for ($index = 0; $index < 10; $index++) { ?>
            <tr><td>nadim</td><td>nadim.sheikh.07@gmail.com</td><td>7737033665</td><td>247 dehligate</td><td>udaipur</td><td>india</td><td>313001</td></tr>
            <?php } ?>            
        </table>        
        </form>        
    </body>
</html>
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册