如何确定客户端设备是否支持PDF文件格式

4

您好,

我的需求是直接在网页上显示动态创建的PDF文件。对于已经安装了PDF阅读器软件的系统,它可以正常工作。但对于未安装PDF软件的系统,则会出现以下错误:

无法显示XML页面
无法使用样式表查看XML输入。请纠正错误,然后单击“刷新”按钮或稍后再试。


在文本内容中找到了无效字符。处理资源时发生错误 'http://localhost:4252/OmanePost/Customer/EBox/PD... 我需要以不同的方式处理这种情况,即在此情况下,应将文件保存到系统的物理位置,为此我需要确定客户端机器是否安装了PDF软件,然后才能正确管理。

我正在使用ASP.NET 2.0版本。

5个回答

3

看起来您正在使用XML的mime/content-type来提供PDF文件。请确保将content-type设置为application/pdf,这样您可能会得到更适合的浏览器响应。


3
在这种情况下,浏览器应该要求用户在外部应用程序中打开文件。
请确认您发送了正确的Content-Type:application/pdf头。某些版本的Microsoft浏览器会忽略content-type头,因此您需要在内容处置头中指定以.pdf结尾的文件名:Content-Disposition: inline; filename=filename.pdf;
注意:我没有验证过“inline”而不是“attachment”的工作原理,但我认为值得一试。

2
我的要求是直接在网页上显示动态创建的PDF文件。可以尝试在线工具ZohoViewer,它可以接受PDF文件链接并在浏览器中显示,无需客户端机器上的PDF阅读器。因此,没有办法检查客户端机器是否有PDF阅读器。

1

无法使用 JavaScript、ASP.NET、C# 来识别客户端系统是否安装了 PDF 软件。


1
如果PDF阅读器软件不存在且PDF是有效的,则不应抛出异常。相反,它会要求客户端机器上有一个可以读取文件的软件。

如何在客户机上请求一个能够读取文件的软件。 - Jibu P C_Adoor
假设我的本地机器上没有PDF阅读器。假设我的机器是客户端机器。我正在从一个站点下载一个PDF文件。您可以称之为服务器。我可以成功下载文件并将其保存在本地机器上。打开它时会弹出一个窗口,显示安装在我的机器上的软件列表,并要求用户选择一个可以打开PDF的软件。 - Puru

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接