【问题标题】:Save contents of保存内容
【发布时间】:2012-09-12 14:37:37
【问题描述】:

我有一个生成 html 并使用缓冲区将其添加到 php 字符串的文件

<?php ob_start(); ?>

    <table>
     <tr>
      <td>Content</td>
     </tr>
    </table>

<?php     
    $contents = ob_get_contents();
    ob_flush();

    mail($to, $subject, $contents, $headers);
?>

有没有办法使用php在服务器上将字符串的内容保存为pdf文件? 我曾尝试使用 FPDF,但它不起作用,因为内容位于页面顶部,并且我从 fpdf 收到输出错误。

任何帮助表示赞赏

【问题讨论】:

  • FPDF 是正确的方法......但它并不像查找 fpdf 教程那样容易
  • 我已经尝试了一些。似乎只有当 fpdf 在页面上单独运行而没有任何其他功能或 html 时才有效。
  • 您必须确保在 pdf 标头之前没有输出,因此在打印出 pdf 之前需要 nur 回显或空格
  • 是的,但不幸的是缓冲区中的内容导致在pdf头之前输出。并且它必须在 fpdf 不能包含内容之前,因为它首先出现。但是,如果有一种方法可以包含仅在 fpdf 代码之后(之后)创建的字符串...

标签: php html email pdf


【解决方案1】:

您需要使用ob_end_clean() 而不是ob_flush();

ob_flush(); 将打印 html 而您不希望这样。由于 FPDF 创建 pdf 并需要操作标题(成为 pdf)。如果您首先回显/打印某些内容,php 将自动设置默认标头。设置后库无法修改它们,导致错误。

将 ob 的内容放入 var ($contents = ob_get_contents();) 后,您可以使用 ob_end_clean()。这将丢弃缓冲区的内容并停止缓冲。

【讨论】:

    猜你喜欢
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-17
    • 2021-07-30
    • 1970-01-01
    相关资源
    最近更新 更多