【问题标题】:Cannot read pdf generated through dompdf in chrome无法在chrome中读取通过dompdf生成的pdf
【发布时间】:2011-05-11 12:25:36
【问题描述】:

我只是在测试 dompdf。并发现我正在生成的内容不能被 chrome 变成红色。试图用sumatra pdf阅读器打开它,它打开了。尝试从我的 chrome 电子书中打开一些随机的 pdf 文件,然后将其变红。 我的代码是否有问题导致 chrome 无法读取:

<?php
require_once("dompdf/dompdf_config.inc.php");

$dompdf = new DOMPDF();

$d_r = array(array('name'=>'ab', 'course'=>'bsit'), array('name'=>'yoh', 'course'=>'bscs'));

ob_start();
put_table($d_r);
file_put_contents('sample.html', ob_get_contents());
generate_pdf('sample.html');

function put_table($raw_data){
?>
<table border="1">
    <tr>
    <th>Name</th>
    <th>Course</th>
    </tr>

<?php foreach($raw_data as $data){ ?>   
    <tr>
    <td><?php echo $data['name']; ?></td>
    <td><?php echo $data['course']; ?></td>
    </tr>
<?php } ?>
</table>


    <?php
}


function generate_pdf($filename){
    global $dompdf;

    $dompdf->load_html(file_get_contents($filename));
    $dompdf->render();
    $dompdf->stream($filename. ".pdf");

}
?>

【问题讨论】:

    标签: php pdf google-chrome dompdf


    【解决方案1】:

    问题可能在于默认情况下 dompdf 将内容作为附件转储,从而强制下载。为了允许浏览器内联查看它,必须通过为流方法设置一个附加参数来告诉它不要这样做。

    $dompdf->stream("my_pdf.pdf", array("Attachment" => 0));
    

    如果这没有意义,请尝试在生成(并在磁盘上写入)所需的 html 输出后清理输出缓冲区,而不是将其放在屏幕上。对请求/响应进行标头调试,看看是否有空格或空格。如果这样做,客户端将不会读取标题,并且您可能无法看到生成的 PDF。

    【讨论】:

      【解决方案2】:

      PDF 可能已正确呈现,但根据您的服务器配置,某些非 PDF 内容可能已包含在 PDF 源中。一些 PDF 阅读器比其他阅读器更宽松,会丢弃非 PDF 内容。最简单的检查方法是在文本编辑器中打开 PDF 并查找 HTML 文本字符串等内容。

      如果这不是问题,那么查看 PDF 本身会有所帮助。

      【讨论】:

        【解决方案3】:

        Chrome pdf 查看器太糟糕了,交给专家吧。如果您没有 Acrobat Reader,请安装它。在 Chrome 地址栏中输入 about:plugins 并单击以禁用 Chrome pdf 查看器。然后点击启用Acrobat Reader---在Chrome中查看pdf就可以了!

        【讨论】:

        • 从今天开始。 Chrome pdf 查看器比 Adob​​e 的好...在这里我可以查看 dompdf 生成的 PDF,但是使用 Adob​​e 我得到“错误 135”...
        猜你喜欢
        • 2015-10-30
        • 2017-03-17
        • 2020-07-12
        • 2018-07-28
        • 1970-01-01
        • 1970-01-01
        • 2022-07-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多