{"id":13574086,"url":"https://github.com/skius/rm-pdf-tools","last_synced_at":"2025-04-11T16:07:42.320Z","repository":{"id":46974184,"uuid":"407890642","full_name":"skius/rm-pdf-tools","owner":"skius","description":"PDF tools for reMarkable tablets","archived":false,"fork":false,"pushed_at":"2021-12-01T16:32:10.000Z","size":3927,"stargazers_count":16,"open_issues_count":5,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-25T12:11:09.122Z","etag":null,"topics":["hacktoberfest","remarkable-tablet"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skius.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-18T15:00:59.000Z","updated_at":"2024-10-19T15:55:31.000Z","dependencies_parsed_at":"2022-08-28T14:03:13.756Z","dependency_job_id":null,"html_url":"https://github.com/skius/rm-pdf-tools","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skius%2Frm-pdf-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skius%2Frm-pdf-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skius%2Frm-pdf-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skius%2Frm-pdf-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skius","download_url":"https://codeload.github.com/skius/rm-pdf-tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248438501,"owners_count":21103409,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","remarkable-tablet"],"created_at":"2024-08-01T15:00:46.281Z","updated_at":"2025-04-11T16:07:42.300Z","avatar_url":"https://github.com/skius.png","language":"Go","funding_links":[],"categories":["Go","Cloud Tools"],"sub_categories":["Launchers"],"readme":"# rm-pdf-tools - PDF tools for reMarkable\n\n*Disclaimer: `rm-pdf-tools` is currently in a very early version, bugs are to be expected. Furthermore,\nthe intended use case for this tool is to be run 24/7 on a computer,\nand your tablet needs to be connected to the cloud.*\n\n*Right now, this tool might require more technical knowledge than hacks, however you do not run any risk\nof voiding your warranty or bricking your device.*\n\n*Please open an issue if you find a bug or unexpected behavior!*\n\n## Features \n`rm-pdf-tools` adds the following features to your reMarkable tablet (with an active internet connection):\n- Add blank pages to annotated PDFs \n- Remove pages from annotated PDFs \n- Merge any number of annotated PDFs and/or notebooks (this removes the templates at the moment)\n\n### Demo \nSee [here](https://www.reddit.com/r/RemarkableTablet/comments/pqod77/introducing_rmpdftools_insert_pages_and_delete/) for a demo.\n\n## Installation \n### reMarkable\nIn the root (top-level) directory of your reMarkable cloud, create the following directories:\n```\n/pdf-tools/\n/pdf-tools/work/\n/pdf-tools/merge/\n/pdf-tools/original/\n/pdf-tools/processed/\n```\n\n### Server \nTo clone the repository and build the binary, run \n```\ngit clone https://github.com/skius/rm-pdf-tools\ncd rm-pdf-tools\ngo build .\n```\nThen start the service using `./start.sh` and follow the instructions to authenticate `rm-pdf-tools` with your\nreMarkable cloud (courtesy of [rmapi](https://github.com/juruen/rmapi)).\n\n## Usage \n\n### Merge documents\n\nTo merge documents (currently supported are: annotated PDFs and notebooks), rename the documents\nin such a manner that their alphabetical order corresponds to the desired merge order. Then move them all \nto the `/pdf-tools/merge/` directory and wait for them to be synchronized.\nThen rename the `merge/` directory to `merge!/` (add a `!` to the end) and wait for the tool to take over.\nOnce the tool finishes, the merged document will appear in `/pdf-tools/processed/` and the original documents\nwill be in `/pdf-tools/original/`. Furthermore, the `merge!/` directory should be named `merge/` automatically again.\n\nYou can merge PDFs with PDFs, PDFs with notebooks, and notebooks with notebooks. Note that currently the resulting\ndocument will be an annotated PDF, with the usual limitations. Additionally, the template background of\nyour notebooks will be replaced by a blank PDF page in the merged document.\n\nA demo can be found [here](https://www.reddit.com/r/RemarkableTablet/comments/ps01cd/rmpdftools_now_allows_you_to_merge_any_number_of/). (This was from before you had to rename the `merge` folder to `merge!` - \nother than that, everything works the same)\n\n#### Example\n\nYou wish to append your notebook `Homework Notes` to the end of the PDF `My Uni Assignment`. First,\nyou rename the files to `1 My Uni Assignment` and `2 Homework Notes`, because you want the assignment to appear before\nyour notes in the merged document. Then select both files (long press on the first file, short press on the second file)\nand select \"Move\" and move them to `/pdf-tools/merge/`. When you don't see any more cloud notifications, rename that\nfolder to `merge!/`.\n\nIf everything worked correctly, your merged PDF should appear in `/pdf-tools/processed/`.\n\n### Edit PDFs\n\nTo add/delete pages of a PDF, simply create a folder in `/pdf-tools/work/`\nwith a name following the [actions format](#Actions-format) corresponding to what you want to change about the PDF.\n\nThen move your PDF into that folder and wait for a few seconds. If everything worked correctly, you should\nnow find the processed PDF with your changes in the folder `/pdf-tools/processed/`.  \nIf you accidentally deleted  too much, or still need the original for other reasons,\nyou can find it in `/pdf-tools/original/`.\n\nSee [the demo](resources/demo.mp4) for an example workflow.\n\n### Actions format\n\nThe title of the folder you're creating in `work/` should be a comma-separated list of `action`'s.  \nAn action can be:\n- `XaY`: insert `X` pages **a**fter page `Y`\n- `XbY`: insert `X` pages **b**efore page `Y`\n- `-Y`: delete page `Y`\n\nNote that your title may not contain multiple references to the same page `Y`, e.g., `-3,1a3` is not allowed.  \nAlso note that the page numbers always refer to the pages of the original document, i.e. `1a1,-2` deletes the original\n2nd page, not the freshly inserted page 2.\n\n#### Examples \n- `2a1,-3`: insert 2 pages after page 1, and delete page 3\n- `-10,1a1,1b2`: delete page 10, insert 1 page after page 1, and insert 1 page before page 2\n- `-1`: delete page 1\n\n## Limitations\n\nCurrently, this project uses [pdfcpu](https://github.com/pdfcpu/pdfcpu), which only supports PDFs up to version 1.7.\nThis means that certain PDFs, such as those generated by [ReCalendar](https://github.com/klimeryk/recalendar), are not able to be edited.   \nFeel free to open an issue or pull request if you know an alternative.\n\n## License\n\nThis project's source is licensed under the [MIT License](LICENSE).  \nThe pre-built bundles available on the releases page are licensed under the [AGPL License](AGPL).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskius%2Frm-pdf-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskius%2Frm-pdf-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskius%2Frm-pdf-tools/lists"}