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.1.tar.gz (20.3 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.1-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rmdocs-3.0.1.tar.gz
  • Upload date:
  • Size: 20.3 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.1.tar.gz
Algorithm Hash digest
SHA256 6971d47a6c6f3d1633b2c1fc778dfc6706b9fcb43ff2b97f01d748082cb1b2ef
MD5 ba66e38a11b7d03f4c2a31c0f7cdd1ab
BLAKE2b-256 edba028c8b9929e59163f68e94b06f54c40e4504200cff5b5a35f6942d5ef999

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rmdocs-3.0.1-py3-none-any.whl
  • Upload date:
  • Size: 22.9 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 11035fcb9142a3c7ecf484b9d07b22099346c36639317b52df98fe5e74deb784
MD5 8991822557de8b7c8d270c641709f341
BLAKE2b-256 32f878fb8a2f4742b71b8a0d1f2004e108bf0242c297becbbe1e36947cae517e

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