Python library to read v6 files from reMarkable tables (software version 3).
In particular, this version introduces the ability to include text as well as drawn lines. Extracting this text is the original motivation to develop this library, but it also can read much of the other types of data in the reMarkable files.
To convert rm files to other formats, you can use rmc, which combines this library with code for converting lines to SVG, PDF, and simple Markdown.
- Try to be more robust to unexpected data introduced by newer reMarkable software versions.
- Only warn once if unknown data is present, rather than for every block.
- Small API change to return type of
read_block
andread_subblock
methods.
- Initial release
Test the parser:
$ python -m src.rmscene print-blocks page_file.rm
Convert a .rm file into an SVG file.
$ python -m src.rmscene rm2svg tests/rm/dot.stroke.rm /tmp/foo.svg
Convert a .rm file into an PDF file.
$ python -m src.rmscene rm2pdf tests/rm/dot.stroke.rm /tmp/foo.pdf
https://github.com/ddvk/reader helped a lot in figuring out the structure and meaning of the files.
Right now the conversor (it is the same for svg and pdf) works well while there are no text boxes. If you add text boxes, there are 2x issues:
- (1) if the text box contains multiple lines, the lines are actually printed in the same line, and
- (2) the position of the strokes gets corrupted.