Skip to content

jeertmans/rpdf

Repository files navigation

rpdf

PDF command-line utils written in Rust.

rpdf makes working with PDF annotations super easy! It can merge annotations from multiple files, some show statistics (stats) or strip specific (or all) annotations.

Crates.io

  1. About
  2. CLI Reference
  3. Contributing

About

rpdf is a Rust binary that aims to provides an open source and straighforward command-line alternative to other tools such as PDF Annotator and others.

Disclaimer: rpdf is currently in an early stage, and does not implement many features. It was first developed for my own use, because I needed to merge annotations from PDFs I review with other people. Do not hesitate to propose new features if you feel they could be intersting!

Installation

You can install the latest version with cargo.

> cargo install rpdf

CLI Reference

The command line tool is pretty straighforward to use and is self-documented:

CLI

Anytime you need help for a command, you can use rpdf <COMMAND> --help, or -h for the short version.

Examples

Below, you can find usage examples of rpdf in the terminal.

Annotations statistics

You can count how many annotations your file contains:

statistics

And you can also do this per page:

statistics-per-page

Merge annotations

Say we have to files with the same content but different annotations:

statistics-two-files

You can merge the annotations from both files into one with the merge command, and verify that all the annotations are present in the final product:

merge

Strip annotations

If you want to remove some annotations from a PDF, you can do so with the strip command:

strip

By default, strip excludes Link annotations from the removal process. You can modifiy the behavior with the -e/--exclude parameter.

Contributing

Contributions are more than welcome! Please reach me via GitHub for any questions: Issues, Pull requests or Discussions.

About

PDF command-line utils written in Rust

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages