由于一些不可避免的原因我需要停用Google Chrome的“Chrome PDF Viewer”并启用adob PDF查看器。我想用C#.net和asp.net代码来做这件事。我知道这不可能直接,因为它与客户端机器上的更改设置有关但我准备请求用户的许可,如果他/她想要禁用默认查看器。
这项工作背后的原因是,由于Chrome的默认阅读器,我在iTextSharp中创建的所有PDF在Google Chrome中都无法正常运行。并非所有用户都可以手动查找和禁用插件,因此我希望它可以通过代码来完成。我需要知道我们如何禁用默认的PDF查看器。在此之后我的问题将自动解决。请给我任何关于代码的建议
答案 0 :(得分:3)
Google Chrome插件不会改变编程方式,只需告知客户端,如弹出消息
<script type="text/javascript">
function CheckPlugin()
{
var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
function findPlugin(ext) {
var thisExt, findExt;
for (var n = 0; n < navigator.plugins.length; n++) {
//alert("n value"+ navigator.plugins.length);
for (var m = 0; m < navigator.plugins[n].length; m++) {
//alert("m length:"+navigator.plugins[n].length);
thisExt = navigator.plugins[n][m].description.toLowerCase();
// alert("this exten"+thisExt);
findExt = thisExt.substring(0, thisExt.indexOf(" "));
//alert("findexes"+findExt);
if (findExt == ext)
return (true);
}
}
return (false);
}
if (is_chrome ==true) {
//alert("chrome browser");
if (findPlugin("acrobat")) {
//alert("Adobe Acrobat pdf viewer");
return true;
}
else {
alert("please disable the chrome pdf viewer and enable the Adobe Acrobat PDF viewer \n Please follow the steps:\n 1.Open the new tab 'chrome://plugins/' type the Address. \n 2. Click the Enable link in 'Adobe Acrobat' field. \n 3. click the Disable link in 'Chrome PDF Viewer'. \n 4. Close the tab and you can open the PDf files in chrome browser.");
return false;
}
}
else {
//alert("not chrome");
}
}
</script>
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl="~/PDFFiles/AGENCY PROFILE APP.pdf" onclick="return CheckPlugin();">Agency profile app</asp:HyperLink>
我认为这更有帮助。
答案 1 :(得分:2)
只要您将pdf嵌入到html文件中,以下内容可能对您有用....
尝试将嵌入的type
更改为type="application/vnd.adobe.pdfxml"
,我知道这不是你的服务但是当我在正常的pdf上尝试它时插件没有窒息并使用Adobes插件显示pdf而无需禁用默认(Chromes)读者。
我不得不在一个版本的Adobe插件上进行测试,这个版本有点旧,因为我在拨号上并且无法下载50个版本的meg文件只是为了测试;)。所以你应该在最新的插件上测试它
希望它对你有帮助。
修改强>
下面是一个如何使pdf占据全屏的示例页面,就像你只是直接指向文件一样...
http://pdfobject.com/markup/examples/full-browser-window.html
...它也是我测试的页面。
答案 2 :(得分:1)
我使用了iTextSharp,当Chrome PDF和Adobe都启用时Chrome导致了问题。即使表单指定将数据发送为XFDF,提交按钮也会将FDF数据发送回服务器。将ContentType设置为“application / vnd.adobe.pdfxml”解决了这个问题。
感谢PAEz。