使用php,apache2的pdf错误

时间:2010-06-16 15:59:50

标签: php apache2 pdf-generation lamp mime-types

我在PHP中使用TCPDF库从动态生成的PDF中看到一些奇怪的行为。

标准灯泡堆 - 但是,如果您尝试使用Acrobat Reader从Windows打开PDF,则会出现“文件已损坏且无法修复”的错误。从Mac,Linux等文件工作正常,打开正常。它也可以在Google Docs中打开 - 显然PDF本身就可以了。

mime类型(application / pdf)是否可能导致Windows出现问题?

由于

1 个答案:

答案 0 :(得分:0)

Windows上有哪些浏览器?所有?还是只有一个?我最初的直觉是,Windows浏览器忽略了内容被gzip压缩的编码(忽略Content-Encoding标题)。那就是你甚至发送那个标题。

在某些文本编辑器(记事本等)中打开您下载的文件。文件的前几个字符应该是%PDF-1.,后面是另一个数字。如果它不在开头,请检查文件是否被gzip压缩(将文件重命名为blah.gz,然后通过gzip运行以尝试解码)。如果这样可行,那么您的问题是浏览器忽略编码。

如果忽略编码,则需要不要gzip该PHP文件的输出。如何操作取决于您的服务器配置。

哦,application/pdf是适当的mime类型。而mime类型不是你的问题,因为Acrobat至少试图打开文件...