【问题标题】:TCPDF outputs weird characters in IE8TCPDF 在 IE8 中输出奇怪的字符
【发布时间】:2012-12-16 15:03:39
【问题描述】:
今天我开始尝试使用基于 PHP 的 PDF 生成器。我尝试了 TCPDF,它在大多数情况下都可以正常工作,尽管它似乎有点慢。但是当我在 Internet Explorer 8 中加载生成我的 PDF 的 PHP 文件时,我看到一行行奇怪的字符。然而,Chrome 将其识别为 PDF。
我假设我必须设置一个特殊的 MIME 类型来告诉 IE 它将页面输出解释为 PDF 文件。如果是,我该怎么做?
【问题讨论】:
标签:
php
internet-explorer
tcpdf
【解决方案1】:
输入“application/pdf”或“application/octet-stream”mime 类型可能会有所帮助。请记住,“application/octet-stream”将强制下载文件,并可能阻止它在浏览器中打开..
如果你想知道,你可以这样做:
header('Content-type: application/octet-stream');
【解决方案2】:
我也遇到了这个问题,但我做了什么让它工作是我添加的
exit();
在 pdf 输出的末尾。
【解决方案4】:
@Pieter:我在使用 tcpdf(使用 fpdi)时遇到了同样的问题,并使用 ajax 调用加载了生成 pdf 的页面。我更改了javascript以使用window.location加载页面,问题消失了,性能也好得多。我相信其他两张海报在文档标题导致问题的想法上是正确的。就我而言,由于 ajax 调用,标头未应用于整个文档,并导致问题。希望这会有所帮助。
【解决方案5】:
我发现这也是一个问题,对我来说这一切都取决于代码:
if (php_sapi_name( != 'cli') {
在 tcpdf.php 文件的第 7249 行。
我评论了这个'if'语句(和相关的'}')并且对于我的其他浏览器和ie8一切正常
希望这会有所帮助