【问题标题】:How to convert BLOB data (stored in database) to pdf如何将 BLOB 数据(存储在数据库中)转换为 pdf
【发布时间】:2018-05-24 19:06:21
【问题描述】:

我将 blob 数据存储在数据库中,其中包含整个班级的门票。我已经为每个学生过滤并显示了大厅票,现在,我面临的问题是,当我尝试将显示的大厅票转换为 pdf 格式时我无法做到这一点(我用来显示的任何方法都不是努力在 PDF 中显示相同的内容)

<div class="widget-body clearfix" id="print" style="display:none;">
<?php 
     $studId= $this->dashboard_model->getstudId(); 
     $html = implode(" ",$blob);
     echo $html;
?>
</div>


<script>
    $(window).load(function() {
        var studId= <?php echo $studId; ?>;
        $('#print').html('<table style="width:100%;border:thick double #333333;" align="center">'+$('#'+studId).html()+'</table>').css('display', 'block');
        $('#print tr').css('font-size', '10px');
    });

</script>

【问题讨论】:

  • 如果这是一个静态 PDF 文件,并且与您的数据库没有任何关系 - 您将如何让页面显示它那么?您是否会将二进制 PDF 内容复制并粘贴到 HTML 文档中或多或少的任意位置?不,你当然不会。所以很明显,像您在显示的代码中尝试的那样将数据回显到文档中也不是正确的方法。

标签: php pdf blob


【解决方案1】:

这里有两种可能的方法:

  • 将 blob 转换为 base64 并将其与数据 url 一起显示到 iframe 中。检查有关 Data URLs 的文档。使用适当的 MIME 类型非常重要,请参阅Proper MIME media type for PDF files,以使 pdf 显示而不是下载,或者如果需要,反之亦然。

  • 将您的代码拆分为两个 php:一个用于页面,另一个用于数据。在带有页面的地方放置一个 iframe 并将 URL 指向第二个 php。在这种情况下,重要的是还要使用Proper MIME media type for PDF files,base64 它没有使用,但你必须确保使用适当的字符集或函数来确保数据 php 将正确的字节写入流。

【讨论】:

  • 我使用了 javascript(参考 jsfiddle.net/ugD5L/126),但问题是甚至学生姓名和其他详细信息都显示在表格中(行格式)。你知道如何解决这个问题
猜你喜欢
  • 2012-07-29
  • 1970-01-01
  • 2016-04-22
  • 1970-01-01
  • 1970-01-01
  • 2014-12-20
  • 2014-04-07
  • 1970-01-01
相关资源
最近更新 更多