pdfparanoia
May 7, 2026 · View on GitHub
pdfparanoia is a PDF watermark removal library for academic papers. Some publishers include private information like institution names, personal names, ip addresses, timestamps and other identifying information in watermarks on each page.
pdfparanoia это библиотека для удаления водяных знаков из PDF файлов научных статей. Некоторые издатели включают личную информацию, такую как названия институтов, имена, IP-адреса, время и дату и другую информацию в водяные знаки содержащиеся на каждой странице.
Installing
Simple.
sudo pip install pdfparanoia
or,
sudo python setup.py install
pdfparanoia is written for Python 2.7+ or Python 3. Dependencies are installed automatically by pip: pdfminer.six (publisher watermark plugins) and pikepdf (custom string + metadata scrubbing).
Usage
import pdfparanoia
pdf = pdfparanoia.scrub(open("nmat91417.pdf", "rb"))
with open("output.pdf", "wb") as file_handler:
file_handler.write(pdf)
or from the shell,
pdfparanoia --verbose input.pdf -o output.pdf
and,
cat input.pdf | pdfparanoia > output.pdf
To remove a specific string from all page content streams and metadata:
pdfparanoia input.pdf -s "Downloaded by user@example.com" -o output.pdf
To remove a string from metadata only (leaving page text untouched):
pdfparanoia input.pdf -s "My Institution" --only-scrub-metadata -o output.pdf
Multiple -s flags can be combined, and matching is case-insensitive by default
(pass --case-sensitive to opt out). The -o flag is safe to use with the
same path as the input file.
Supported
- AIP
- IEEE
- JSTOR
- RSC
- SPIE (sort of)
Changelog
- 0.0.18 - pikepdf-based CustomStrings plugin: TJ-kerning-aware content-stream scrubbing, XMP and DocInfo metadata scrubbing,
--scrub-strings/--only-scrub-metadataCLI flags, safe in-place-ooutput. - 0.0.13 - RSC
- 0.0.12 - SPIE
- 0.0.11 - pdfparanoia command-line interface. Use it by either piping in pdf data, or specifying a path to a pdf in the first argv slot.
- 0.0.10 - JSTOR
- 0.0.9 - AIP: better checks for false-positives; IEEE: remove stdout garbage.
- 0.0.8 - IEEE
License
BSD.