Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php TCPDF在IE8中输出奇怪的字符_Php_Internet Explorer_Tcpdf - Fatal编程技术网

Php TCPDF在IE8中输出奇怪的字符

Php TCPDF在IE8中输出奇怪的字符,php,internet-explorer,tcpdf,Php,Internet Explorer,Tcpdf,今天我开始试验基于PHP的PDF生成器。我试过TCPDF,它在大多数情况下都很好,尽管它似乎有点慢。但是当我在InternetExplorer8中加载生成PDF的PHP文件时,我看到一行行奇怪的字符。然而,Chrome将其识别为PDF 我假设我必须设置一个特殊的MIME类型来告诉IE它应该将页面输出解释为PDF文件。如果是,我该怎么做?放置“application/pdf”或“application/octet-stream”mime类型可能会有所帮助。请记住,“应用程序/八位字节流”将强制下载

今天我开始试验基于PHP的PDF生成器。我试过TCPDF,它在大多数情况下都很好,尽管它似乎有点慢。但是当我在InternetExplorer8中加载生成PDF的PHP文件时,我看到一行行奇怪的字符。然而,Chrome将其识别为PDF

我假设我必须设置一个特殊的MIME类型来告诉IE它应该将页面输出解释为PDF文件。如果是,我该怎么做?

放置“application/pdf”或“application/octet-stream”mime类型可能会有所帮助。请记住,“应用程序/八位字节流”将强制下载该文件,并可能阻止其在浏览器中打开

如果你想知道,你可以这样做:

header('Content-type: application/octet-stream');
放置“application/pdf”或“application/octet-stream”mime类型可能会有所帮助。请记住,“应用程序/八位字节流”将强制下载该文件,并可能阻止其在浏览器中打开

如果你想知道,你可以这样做:

header('Content-type: application/octet-stream');

对于动态生成的内容,您需要以不同的方式处理IE。看这篇文章,

在我的代码中,我这样做

    if(isset($_SERVER['HTTP_USER_AGENT']) AND ($_SERVER['HTTP_USER_AGENT']=='contype')) {
            header('Content-Type: application/pdf');
            exit;
    }

这个问题也可以解释你提到的速度慢,因为你的页面实际上多次发送整个PDF,而没有这个逻辑。

对于动态生成的内容,你需要以不同的方式处理IE。看这篇文章,

在我的代码中,我这样做

    if(isset($_SERVER['HTTP_USER_AGENT']) AND ($_SERVER['HTTP_USER_AGENT']=='contype')) {
            header('Content-Type: application/pdf');
            exit;
    }

这个问题也可以解释你提到的速度慢,因为你的页面实际上在没有这种逻辑的情况下多次发送整个PDF。

@Pieter:我在使用tcpdf(使用fpdi)时遇到了同样的问题,并且加载了使用ajax调用生成PDF的页面。我改变了javascript,改为使用window.location加载页面,问题就解决了,性能也提高了很多。我相信其他两张海报的想法是正确的,即文件标题导致了问题。在我的例子中,由于ajax调用,标题没有应用于整个文档,从而导致了问题。希望这能有所帮助。

@Pieter:我在使用tcpdf(使用fpdi)时遇到了同样的问题,并且加载了使用ajax调用生成pdf的页面。我改变了javascript,改为使用window.location加载页面,问题就解决了,性能也提高了很多。我相信其他两张海报的想法是正确的,即文件标题导致了问题。在我的例子中,由于ajax调用,标题没有应用于整个文档,从而导致了问题。希望这有帮助。

我发现这也是一个问题,对我来说,这一切都取决于代码:

if (php_sapi_name( != 'cli') {
在tcpdf.php文件的第7249行。
我对这个“if”语句(以及相关的“}”)进行了注释,所有这些都可以很好地用于我的其他浏览器和ie8
希望这有帮助

我发现这也是一个问题,对我来说,这一切都取决于代码:

if (php_sapi_name( != 'cli') {
在tcpdf.php文件的第7249行。
我对这个“if”语句(以及相关的“}”)进行了注释,所有这些都可以很好地用于我的其他浏览器和ie8
希望这有帮助

我也有这个问题,但我所做的是让它工作,我补充说

 exit();

在pdf输出的末尾。

我也遇到了这个问题,但我做了些什么来让它工作呢

 exit();
在pdf输出的末尾