An open API service indexing awesome lists of open source software.

https://github.com/mvuorre/pdf-direct

Bypass "fancy online reader" and just get the darn pdf
https://github.com/mvuorre/pdf-direct

academia firefox firefox-addon

Last synced: 4 months ago
JSON representation

Bypass "fancy online reader" and just get the darn pdf

Awesome Lists containing this project

README

          

# PDF Direct

Firefox extension to skip academic journals' "enhanced" PDF viewers to direct PDF downloads.

## Install

Get the add-on at .

## Example

| With Extension | Without Extension |
| --- | --- |
| ![With Extension](with.gif) | ![Without Extension](without.gif) |

## Supported Publishers

The extension works with major academic publishers and their university proxy versions:

- **American Chemical Society** (ACS)
- **Cambridge University Press**
- **Elsevier** (ScienceDirect)
- **IEEE** (Institute of Electrical and Electronics Engineers)
- **JSTOR** (Academic archives)
- **Nature Publishing Group**
- **Oxford University Press**
- **PLOS** (Public Library of Science)
- **PNAS**
- **Royal Society Publishing**
- **Sage Publications**
- **Springer Nature**
- **Taylor & Francis**
- **Wiley**

The extension automatically works with:
- Direct publisher websites (e.g., `journals.sagepub.com`)
- OCLC WorldCat proxies (e.g., `journals-sagepub-com.university.idm.oclc.org`)

## How It Works

The extension intercepts requests to academic journal "enhanced" PDF viewers and redirects them to direct PDF downloads by converting:

- `/doi/reader/` → `/doi/pdf/`
- `/doi/epdf/` → `/doi/pdf/`
- `/doi/epub/` → `/doi/pdf/`

This works across both direct publisher domains and proxy services.

## License

MIT

## Contributing and development

Submit an issue if you want me to add a publisher / feature / squash a bug.

Development requirements:

- `web-ext` (`npm install -g web-ext`)
- `gh` CLI (`brew install gh`)
- `jq` (`brew install jq`)

Build and publish extension

1. Download/clone
2. Test extension manually: `make test`
3. Lint extension: `make lint`
4. Increment version in `manifest.json`
5. Create release: `make release`
6. Sign & submit extension: `make sign` (but note this requires private keys)

## Credits

- Icons: [Pdf icons created by El-Faza Stuff - Flaticon](https://www.flaticon.com/free-icons/pdf)
- A bunch of AI coding tools