Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Do you know a good software to download all PDF links in a web page??

Operating system is Windows 7.

share|improve this question
up vote 21 down vote accepted

You can use wget and run a command like this:

wget --recursive --level=1 --no-directories --no-host-directories --accept pdf

Or with the short options:

wget -r -l 1 -nd -nH -A pdf

UPDATE: Since your update says you are running Windows 7: use wget for Windows from a cmd prompt.

UPDATE 2: For a graphical solution - though it may be overkill since it gets other files too is DownThemAll

share|improve this answer
thank you kevin for your advice, wget looks good, anyway i would prefer a 'graphic' software, non command line. :) – iAsk Mar 20 '11 at 21:09
This rejects even the initial .html page. Has it ever been tested? – dan3 Jan 21 '15 at 18:28
The question asks about downloading all PDF links, so yes, the initial .html page will be ignored. – Kevin Worthington Jan 21 '15 at 21:48
Is there a posibility to do the same thing in Windows 7 using Power Shell? – Benedikt Dichgans Jul 4 '15 at 11:28
I would also suggest throwing in a delay of at least a few seconds between file downloads so as to be nice and not overwhelm the remote server. e,g, for wget, add in a flag of -w 5 – KJH Jan 21 at 15:21
  1. In your browser, press CTRL+SHIFT+J, and enter

    var pdflinks =[]; call(document.querySelectorAll("a[href$=\".pdf\"]"), function(e, i){if((pdflinks||[]).indexOf(e.href)==-1){ pdflinks.push( e.href);} }); console.log(pdflinks.join(" "));

    This will return in the console:

    "" "" ""

  2. Now using wget with the command line options wget url1 url2 ...

Copy and paste this, open a console enter wget press the right mouse button to insert your clipboard content and press enter.

To use a download file, join the lines with "\n" and use the parameter as follows wget -i mydownload.txt

Note that most other (GUI) download programs too accept to be called with a space separated list of URLs.

Hope this helps. This is how I generally do it. It is faster and more flexible than any extension with a graphical UI, I have to learn and remain familiar with.

share|improve this answer
Better yet, console.log('"' + pdflinks.join('" "') + '"') -- otherwise you don't actually get quoted URLs – dan3 Jan 21 '15 at 18:29

If you want to stay in the browser, I've written a web extension for exactly this purpose - I'm working on adding the ability to save scholarly article PDFs with properly formatted titles but if you just want to download 'em all it's perfect for this.

It's called Tab Save and on the Chrome web store here. You don't even have to input the list of URLs if you just open them all in tabs (but for large numbers of files this might slow a computer down so I added the option to add your own).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.