Skip to content

skius/rm-pdf-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rm-pdf-tools - PDF tools for reMarkable

Disclaimer: rm-pdf-tools is currently in a very early version, bugs are to be expected. Furthermore, the intended use case for this tool is to be run 24/7 on a computer, and your tablet needs to be connected to the cloud.

Right now, this tool might require more technical knowledge than hacks, however you do not run any risk of voiding your warranty or bricking your device.

Please open an issue if you find a bug or unexpected behavior!

Features

rm-pdf-tools adds the following features to your reMarkable tablet (with an active internet connection):

  • Add blank pages to annotated PDFs
  • Remove pages from annotated PDFs
  • Merge any number of annotated PDFs and/or notebooks (this removes the templates at the moment)

Demo

See here for a demo.

Installation

reMarkable

In the root (top-level) directory of your reMarkable cloud, create the following directories:

/pdf-tools/
/pdf-tools/work/
/pdf-tools/merge/
/pdf-tools/original/
/pdf-tools/processed/

Server

To clone the repository and build the binary, run

git clone https://github.com/skius/rm-pdf-tools
cd rm-pdf-tools
go build .

Then start the service using ./start.sh and follow the instructions to authenticate rm-pdf-tools with your reMarkable cloud (courtesy of rmapi).

Usage

Merge documents

To merge documents (currently supported are: annotated PDFs and notebooks), rename the documents in such a manner that their alphabetical order corresponds to the desired merge order. Then move them all to the /pdf-tools/merge/ directory and wait for them to be synchronized. Then rename the merge/ directory to merge!/ (add a ! to the end) and wait for the tool to take over. Once the tool finishes, the merged document will appear in /pdf-tools/processed/ and the original documents will be in /pdf-tools/original/. Furthermore, the merge!/ directory should be named merge/ automatically again.

You can merge PDFs with PDFs, PDFs with notebooks, and notebooks with notebooks. Note that currently the resulting document will be an annotated PDF, with the usual limitations. Additionally, the template background of your notebooks will be replaced by a blank PDF page in the merged document.

A demo can be found here. (This was from before you had to rename the merge folder to merge! - other than that, everything works the same)

Example

You wish to append your notebook Homework Notes to the end of the PDF My Uni Assignment. First, you rename the files to 1 My Uni Assignment and 2 Homework Notes, because you want the assignment to appear before your notes in the merged document. Then select both files (long press on the first file, short press on the second file) and select "Move" and move them to /pdf-tools/merge/. When you don't see any more cloud notifications, rename that folder to merge!/.

If everything worked correctly, your merged PDF should appear in /pdf-tools/processed/.

Edit PDFs

To add/delete pages of a PDF, simply create a folder in /pdf-tools/work/ with a name following the actions format corresponding to what you want to change about the PDF.

Then move your PDF into that folder and wait for a few seconds. If everything worked correctly, you should now find the processed PDF with your changes in the folder /pdf-tools/processed/.
If you accidentally deleted too much, or still need the original for other reasons, you can find it in /pdf-tools/original/.

See the demo for an example workflow.

Actions format

The title of the folder you're creating in work/ should be a comma-separated list of action's.
An action can be:

  • XaY: insert X pages after page Y
  • XbY: insert X pages before page Y
  • -Y: delete page Y

Note that your title may not contain multiple references to the same page Y, e.g., -3,1a3 is not allowed.
Also note that the page numbers always refer to the pages of the original document, i.e. 1a1,-2 deletes the original 2nd page, not the freshly inserted page 2.

Examples

  • 2a1,-3: insert 2 pages after page 1, and delete page 3
  • -10,1a1,1b2: delete page 10, insert 1 page after page 1, and insert 1 page before page 2
  • -1: delete page 1

Limitations

Currently, this project uses pdfcpu, which only supports PDFs up to version 1.7. This means that certain PDFs, such as those generated by ReCalendar, are not able to be edited.
Feel free to open an issue or pull request if you know an alternative.

License

This project's source is licensed under the MIT License.
The pre-built bundles available on the releases page are licensed under the AGPL License.