在Firefox中自动下载PDF [英] Auto download PDF in Firefox

查看:189
本文介绍了在Firefox中自动下载PDF的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望Firefox直接下载PDF文件,而不是在浏览器中显示它们.我使用了以下设置

FirefoxProfile firefoxProfile = new FirefoxProfile();
firefoxProfile.setPreference("browser.download.folderList", 2);
firefoxProfile.setPreference("browser.download.manager.showWhenStarting", false);
firefoxProfile.setPreference("browser.download.dir", "c:\\tmp");
firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf");
WebDriver driver = new FirefoxDriver(firefoxProfile);
// Its just a sample URL 
driver.get("http://www.energy.umich.edu/sites/default/files/pdf-sample.pdf");

about:config页面上,我可以看到此设置也已成功反映,并且响应类型为application/pdf.

当Webdriver启动Firefox时,我可以看到以下选项.

它应该是保存文件".

Firefox仍在浏览器中显示PDF.我正在使用Firefox 29.0.1,首选项值是否已更改?

解决方案

您的屏幕快照显示Firefox将预览pdf文件对我来说没有意义,但是您的Firefox仍会弹出另存为"对话框./p>

无论如何,为了使Firefox将pdf文件保存为默认行为作为默认行为,您可能需要尝试以下代码,其中将pdfjs.disabled设置为true将阻止Firefox预览文件./p>

此外,请确保您没有安装任何第三方Firefox PDF查看插件. 如果您的计算机上安装了Adobe Reader,则它将Acrobat设置为Firefox中的PDF查看器.同样,我以前在 Sumatra PDF Firefox插件上我的计算机,无论about:config中的内容是什么,它都会覆盖Firefox设置以预览PDF.

 FirefoxProfile firefoxProfile = new FirefoxProfile();

firefoxProfile.setPreference("browser.download.folderList", 2);
firefoxProfile.setPreference("browser.download.manager.showWhenStarting", false);
firefoxProfile.setPreference("browser.download.dir", "c:\\tmp");
firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf");

firefoxProfile.setPreference("pdfjs.disabled", true);

// Use this to disable Acrobat plugin for previewing PDFs in Firefox (if you have Adobe reader installed on your computer)
firefoxProfile.setPreference("plugin.scan.Acrobat", "99.0");
firefoxProfile.setPreference("plugin.scan.plid.all", false);

WebDriver driver = new FirefoxDriver(firefoxProfile);

// Its just a sample URL 
driver.get("http://www.energy.umich.edu/sites/default/files/pdf-sample.pdf");
 

进一步阅读:

I want Firefox to directly download the PDF files instead of showing them in browser. I used following settings

FirefoxProfile firefoxProfile = new FirefoxProfile();
firefoxProfile.setPreference("browser.download.folderList", 2);
firefoxProfile.setPreference("browser.download.manager.showWhenStarting", false);
firefoxProfile.setPreference("browser.download.dir", "c:\\tmp");
firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf");
WebDriver driver = new FirefoxDriver(firefoxProfile);
// Its just a sample URL 
driver.get("http://www.energy.umich.edu/sites/default/files/pdf-sample.pdf");

On about:config page I can see that this setting are successfully reflected also the response type is application/pdf.

When Webdriver launches Firefox I can see following option.

It should be "Save File".

Still Firefox is showing PDF in browser. I am using Firefox 29.0.1, does the preference values have changed?

解决方案

It doesn't make sense to me that your screenshot shows Firefox will preview pdf files, but your Firefox still pops up "Save as" dialog.

Anyway, in order to make Firefox saving pdf files to a pre-defined folder as the default behaviour, you might want to try the following code, where setting pdfjs.disabled to true will prevent Firefox previewing the files.

Also, please ensure you don't have any third party Firefox PDF viewing plugins installed. If you have Adobe Reader installed on your computer, then it sets Acrobat as the PDF viewer inside Firefox. Similarly, I used to have Sumatra PDF Firefox plugin on my computer, it overrides Firefox settings to preview PDFs no matter what's in about:config.

FirefoxProfile firefoxProfile = new FirefoxProfile();

firefoxProfile.setPreference("browser.download.folderList", 2);
firefoxProfile.setPreference("browser.download.manager.showWhenStarting", false);
firefoxProfile.setPreference("browser.download.dir", "c:\\tmp");
firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf");

firefoxProfile.setPreference("pdfjs.disabled", true);

// Use this to disable Acrobat plugin for previewing PDFs in Firefox (if you have Adobe reader installed on your computer)
firefoxProfile.setPreference("plugin.scan.Acrobat", "99.0");
firefoxProfile.setPreference("plugin.scan.plid.all", false);

WebDriver driver = new FirefoxDriver(firefoxProfile);

// Its just a sample URL 
driver.get("http://www.energy.umich.edu/sites/default/files/pdf-sample.pdf");

Further reading:

这篇关于在Firefox中自动下载PDF的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆