【问题标题】:How to get page title on fpdf output?如何在 fpdf 输出中获取页面标题?
【发布时间】:2012-09-05 22:19:39
【问题描述】:

我正在尝试在使用 fpdf 输出 pdf 时显示页面标题。

目前我只获得用于创建 pdf 的 .php 文件的路径。例如

www.mydomain/inc/pdf/php

如果我输出除 fpdf 代码以外的任何内容,例如

<title>This is my title</title>

<title><? echo $title ?></title>

我收到这样的错误...

部分数据已经输出,无法发送PDF

这是因为您显然只能在页面上输出 fpdf 数据。那么是否有可能以某种方式与 fpdf 或与 fpdf 一起添加标题标签?

看到页面标题而不是我的 pdf.php 文件的路径会更好。

干杯

【问题讨论】:

    标签: php title fpdf page-title


    【解决方案1】:

    FPDF 发送一个 PDF 文件,而不是 HTML。所以默认情况下,浏览器只会提示下载它,或者如果你有插件,它会在浏览器中打开它。至于使用标题,PDF 查看器或 PDF 插件很可能会使用文档的文件名或标题作为页面的标题。 ($pdf-&gt;SetTitle('FPDF tutorial');)

    同样,FPDF 输出 PDF 而不是 HTML。如果您开始输出 HTML,然后尝试回显 PDF 内容,那将是乱码。 PHP 也不允许您在输出 (HTML) 开始后修改标头,这会引发错误。

    如果您将 PDF 存储在系统上或能够配置到 FPDF 模块的路由,则可以使用 HTML 和 &lt;object&gt; 标记将其包含在页面上,但这将是不同的设置,并且需要再走几步。通过这样做,您可以添加所需的所有 HTML,并在页面上的小屏幕上显示 PDF。

    【讨论】:

    • 不幸的是我试过$pdf-&gt;SetTitle等,在这种情况下它不起作用,可能会查看&lt;object&gt;标签选项。谢谢蒂姆:)
    【解决方案2】:

    pdf 文件不是 HTML 文件。 Web 浏览器会显示一个标题,因为它会读取 HTML 代码并对其进行解析。

    有时网络浏览器会因为外部插件而呈现 PDF 文件,因此,如果要呈现 HTML 代码和 PDF 文件,则必须学习一点 HTML 并使用框架或 iframe。

    快速sn-p:

    <html>
      <header>
        <title>Heya, I'm not a path!</title>
      </header>
      <body>
        <iframe src="Put here the path of the web/file you want to show"></iframe>
      </body>
    </html>
    

    如你所见,有一个 iframe 标签,iframe 就像一个盒子,里面加载了另一个网页,所以网络浏览器会渲染 HTML 代码(包括标题),然后渲染一个带有另一个不同网页的盒子在内部(PDF 文件),您可以使用 css 配置 iframe 标签以适应网络浏览器的大小。

    【讨论】:

    • 酷 Jorge,没想到 iframe,我不经常使用它们。我会试试 iframe 以及上面 Tim 的建议,看看会发生什么。 :)
    • iframe 有效!只需想出一种简单的方法将我的帖子数据传递给 fpdf,因为现在它必须经过 2 页。并不是真的想使用会话,但可能会让事情变得更容易。
    • 您可以在 PHP 文件中收集发布数据并通过 GET 将其发送到 iframe 或像 Facebook 使用画布一样自动发布,在这里您可以看到他们的代码:developers.facebook.com/docs/canvas/post 向下滚动到“解决方案” '
    • 啊,不错,我去看看:)
    • GET 几乎成功了,似乎大部分文本都有问题,我可能只是从数据库中检索,应该首先做到这一点:P
    猜你喜欢
    • 2015-01-04
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多