0

我正在使用输出缓冲通过 PHP 使用代理处理程序和 readfile() 从网络共享中获取 pdf 文件。我通过指定内容/mime 类型在新的浏览器选项卡中显示它。(http://stackoverflow.com/questions/10121903/php-scandir-explorer-view-to-display-network-share-files-file-via-wamp-wor)

我在整个应用程序的其余部分都使用 jQuery / Ajax。是否可以使用 ajax 将原始 PDF 内容注入 div 标签但使其正确显示?当前,所需的标头 (header("Content-type: application/pdf")) 似乎已被 ajax 请求剥离,并且显示为乱码。

编辑:谢谢大家的评论和回答。我会更详细地回复并很快审查我的选择。

@ Murtaza - 上面的问题链接显示了我是如何获得原始 PDF 的,此外我还使用 $.ajax 将请求发送到 div 标签并使用了 iframe,当我将其呈现为 src= ,而不是阿贾克斯。

@Brad Christie / Quentin - 也许我可以使用 iFrame 或 Modal 来显示内容?我已经测试了 pdfobject.js,它很好,但需要一个链接文件(例如 /files/file.pdf)。听起来很可怕,但是如果我使用 PHP 将临时文件写入 Web 根目录然后显示呢?如果有人使用过,我认为唯一有用的可能是 jQuery PDF 库?

@ Ignacio - 我确实使用以下代码尝试过这个。它使胡言乱语。我可能做错了,因为我没有使用 iFrame 的经验。// 其中 $filename 是原始 PDF 数据 ">

詹姆士。

4

2 回答 2

1

您不能“将原始 PDF 内容注入 div 标签”;PDF 文件不是 HTML,必须通过 PDF 阅读器插件。尝试将其作为 iframe 的目标。

于 2012-04-13T12:54:52.940 回答
0

是否可以使用 ajax 将原始 PDF 内容注入 div 标签但使其正确显示?

并不真地。不过,您也许可以制作一些pdf.js的东西。

目前所需的标头 (header("Content-type: application/pdf")) 似乎被 ajax 请求剥离

无论您使用何种方式插入数据,都明确地将其视为文本或 HTML,而不是 PDF。这是您的代码忽略了内容类型。

于 2012-04-13T12:55:19.803 回答