Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/poundifdef/go-remarkable2pdf
Go library to parse and render Remarkable lines files
https://github.com/poundifdef/go-remarkable2pdf
remarkable remarkable-notebooks remarkable-tablet
Last synced: 2 months ago
JSON representation
Go library to parse and render Remarkable lines files
- Host: GitHub
- URL: https://github.com/poundifdef/go-remarkable2pdf
- Owner: poundifdef
- License: agpl-3.0
- Created: 2020-12-23T20:56:02.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2020-12-27T08:10:58.000Z (about 4 years ago)
- Last Synced: 2024-11-14T20:07:09.452Z (3 months ago)
- Topics: remarkable, remarkable-notebooks, remarkable-tablet
- Language: Go
- Homepage:
- Size: 1.53 MB
- Stars: 39
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# go-remarkable2pdf
Go library to parse and render Remarkable lines files as PDF.## Usage
```go
package mainimport (
"fmt"
"os"rm2pdf "github.com/poundifdef/go-remarkable2pdf"
)func main() {
// Render a single .rm lines file as PDF
input, _ := os.Open("4.rm")
output, _ := os.Create("out.pdf")
rm2pdf.RenderRmFile(input, output)
output.Close()// Render a full Notebook file as PDF
output, _ := os.Create("out.pdf")
rm2pdf.RenderRmNotebook("Notebook.zip", output)
output.Close()
}```
## Features Supported
- [x] Line thickness
- [x] Eraser
- [x] Highlighter
- [x] Multiple layers
- [x] Multiple pages
- [x] .rm lines file
- [x] Notebook .zip file## Not Currently Supported
- [ ] Background templates (grid, lines, etc)
- [ ] PDF annotations
- [ ] ePUB
- [ ] Layer naming and visibility
- [ ] Line effects (ie, the painbrush shows "brush marks" based on the speed of your stroke)## Example Output
**go-remarkable2pdf**
![](/static/go-remarkable2pdf.png)
**Original**
![](/static/original.jpg)
## Contributing
1. If you want to make any other modification or refactor: please create an
issue and talk to me prior to making your PR. This way we can talk about the
feature, approach, and my own ability to commit to reviewing and merging code.2. I don't guarantee that I will keep this repo up to date, or that I will respond
in any sort of timely fashion! Your best bet for any change is to keep PRs small
and focused on the minimum changeset to add your feature.3. Of course, you are welcome to fork, modify, and distribute this code with your
changes in accordance with the LICENSE.## Acknowledgements
- https://plasma.ninja/blog/devices/remarkable/binary/format/2017/12/26/reMarkable-lines-file-format.html
- https://remarkablewiki.com/tech/filesystem#lines_file_format
- https://github.com/juruen/rmapi