whatisgithub

What is docannotationstonote?

b00kwyrmy/docannotationstonote — explained in plain English

Analysis updated 2026-05-18

0KotlinAudience · generalComplexity · 2/5LicenseSetup · moderate

In one sentence

A Supernote plugin that turns your highlights, underlines, and handwritten marks on a document into an organized, readable note.

Mindmap

mindmap
  root((DocAnnotationsToNote))
    What it does
      Extracts document annotations
      Preserves reading order
      Builds a clean note
    Tech stack
      Kotlin
      TypeScript
      PdfBox
    Use cases
      PDF highlight extraction
      Handwriting extraction
      EPUB beta support
    Audience
      Supernote owners
      Readers and note takers
      Students

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Turn highlights and underlines from a marked-up PDF into a clean, organized note.

USE CASE 2

Extract handwritten annotations and doodles as clean ink on a blank background.

USE CASE 3

Pull annotations from just the current page, a page range, or an entire document.

USE CASE 4

Extract highlighted passages from an EPUB ebook, even though its layout can reflow.

What is it built with?

KotlinTypeScriptReactPdfBox

How does it compare?

b00kwyrmy/docannotationstonoteandroosio/thortuneazcomp2000/battery-sentinel
Stars000
LanguageKotlinKotlinKotlin
Setup difficultymoderateeasymoderate
Complexity2/52/52/5
Audiencegeneralgeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Building the plugin requires ANDROID_HOME set up, or you can install the prebuilt file in releases.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

So what is it?

This project is a plugin for the Supernote, a digital notebook device, that pulls the highlights, underlines, circles, and handwritten marks you make on a PDF and turns them into a clean, organized note. The idea is that when you read and mark up a document on the device, you should not have to manually retype or copy every important passage afterward. Instead, this plugin scans the marked-up document and rebuilds those marks into a note, keeping everything in the same order it appears in the original document. Different kinds of marks are handled differently. A highlighted passage becomes an image snippet in its original highlight color. Underlined text and bracketed passages are lifted out as their own entries, still in reading order. Circled or lassoed areas become either the enclosed text or an image crop if the area contains a diagram rather than text. Freehand handwriting and doodles are pulled out as ink on a clean background, keeping their original color. The plugin also removes duplicate marks and stray accidental dots, and it can detect headings within the extracted content. To use it, a person marks up a PDF as usual on their Supernote, then opens the plugin and chooses how much to extract, such as just the current page, specific pages, or the whole document. The plugin pulls out the marked content, and then the same plugin is run again inside the note where the person wants that content pasted in. Support for EPUB ebooks is still experimental. Unlike PDFs, EPUBs can reflow their text into different layouts, so the plugin has to work from a rendered image of each page and automatically correct for that shifting layout, recovering marks as image crops rather than editable text. This works reasonably well for books that are mostly plain text, but books with lots of images or unusual page layouts may not line up as reliably. The project is written mostly in Kotlin with a JavaScript and TypeScript frontend, and it is released under the MIT license.

Copy-paste prompts

Prompt 1
Explain how this plugin keeps extracted annotations in the same order as the original document.
Prompt 2
Help me build and install this Supernote plugin using buildPlugin.sh.
Prompt 3
Walk me through how the EPUB reflow correction works in this plugin's code.
Prompt 4
Show me how the different annotation types like highlights, circles, and brackets are classified in src/App.tsx.

Frequently asked questions

What is docannotationstonote?

A Supernote plugin that turns your highlights, underlines, and handwritten marks on a document into an organized, readable note.

What language is docannotationstonote written in?

Mainly Kotlin. The stack also includes Kotlin, TypeScript, React.

What license does docannotationstonote use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is docannotationstonote to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is docannotationstonote for?

Mainly general.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.