Skip to main content

Convert the file tree from the reMarkable tablet to PDFs

Project description

rmdocs

A command line tool to convert the files in /home/root/.local/share/remarkable/xochitl/ of the reMarkable 2 to PDFs.

It is only compatible with .rm version 6 and .content version 1 and 2. See this section to verify compatibility.

It uses rmc (which depends on rmscene) to render the remarkable files to svg, converts them to pdf and then merges them together with, if necessary, the background pdf. Currently, Seb-sti1/rmc is used because it uses rmscene v0.5.0 instead of v0.2.0.

Please before submitting an issue check the known issues section and the already existing issues.

How to install?

Start by installing the dependency:

apt install libcairo2

Then download the .whl from the last release.

Using pipx (recommended)

See the official pipx documentation on how to install pipx.

pipx install ./rmdocs.whl

Using venv

python3.11 -m venv .venv  # create a venv 
source .venv/bin/activate  # source the venv
pip install ./rmdocs.whl

Note: in the following instead of rmdocs, you should use python -m rmdocs to start the package.

How to use?

After installing, it is intended to be used with the following commands:

# replace [ip] by the ip of the remarkable. 
rsync -r --delete --progress root@[ip]:/home/root/.local/share/remarkable/xochitl/ rm_folder/
rmdocs ./rm_folder ./exported_file_destination

If you have assertion errors, you can ignore them using the --ignore-assertion option but there is a high chance that the output will not be correct. For more information or compatibility errors see the next section.

How to check compatibility and update my files to v6?

You can test the program for compatibility and assertion errors using rmdocs ./rm_folder --test-compatibility. It will output the detected compatibility and assertion errors.

  • Compatibility refers to the constraint that I decided to impose (mainly the version constraint on .rm and .content files). Any error regarding this is considered 'wrong input from the user'/'software limitation' and not a bug.
  • Assertion refers to the hypothesis made as there is no official API for the reMarkable file structure. Errors regarding these assertions can be considered bugs. Please report them on GitHub with as much information as possible.

Update rm files to v6

Compatibility error regarding the .rm files version will be listed as shown below:

The following are compatibility errors. This software is explicitly not compatible with those files.
You can look at the README.md to find more information:
https://github.com/Seb-sti1/rmdocs?tab=readme-ov-file#how-to-check-compatibility-and-update-my-files-to-v6.
	- Notes (page n°1, 2) (25a92754-ea08-467a-a386-5e169c804c96): This software is only compatible with rm file version 6
	- Notebook (page n°1, 2, 3, 4, 5) (fb90bd3d-62d2-46f6-a7e3-aa098c1938f2): This software is only compatible with rm file version 6

This indicates that Notes page number 1 and 2 and Notebook page number 1, 2, 3, 4 and 5 are not using .rm file v6. It appears that going to each page individually and drawing (even if removing afterward) makes the reMarkable updates the page to v6.

Major known issues

Contributions

All contributions are welcomed :).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rmdocs-3.0.0.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rmdocs-3.0.0-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file rmdocs-3.0.0.tar.gz.

File metadata

  • Download URL: rmdocs-3.0.0.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rmdocs-3.0.0.tar.gz
Algorithm Hash digest
SHA256 ba9a078930f44698cd91c3b25d04cf554a43deba29d181c4ca712481cb96f507
MD5 91be2cb3257c82cb887c698c23329652
BLAKE2b-256 8084ca00581b445fdb52bfbb779df47991a74fa52be6470df5f6bf1b02ee5499

See more details on using hashes here.

File details

Details for the file rmdocs-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: rmdocs-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rmdocs-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4e04675af0c6561b1e928a8df01c0a3934e4fe0ff13b9b2896851e917c802ec4
MD5 14bef654cb302cfc43026194a823d6a9
BLAKE2b-256 8af06877f1f95a09a0620b165d15af99520815cfea9b3aa7a00cb6228ea83f23

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page