flxzt / rnote

Sketch and take handwritten notes.
https://rnote.flxzt.net
GNU General Public License v3.0
6.44k stars 216 forks source link

OneNote import #744

Open flxzt opened 11 months ago

flxzt commented 11 months ago

Is your feature request related to a problem? Please describe.

Currently the only import option that keeps notes in a "rich" and editable way is the xournal++ file import. Because many potential users come from using OneNote, we should consider adding a direct import & conversion from their .one files. It's a bit hidden in OneNote, but users are able to save them from onenote or download them from OneDrive when saved in the cloud.

Describe the solution you'd like

Another import option, similar to the Xournal++ import.

Additional context

also discussed in #733 .

I found some rust crates for parsing/processing onenote files: onenote.rs is a parser, but currently only supports the format that is saved in OneNote's cloud. one2html and one_note_to_xopp are crates that utilize this parser and create HTML / .xopp files.

einsJannis commented 8 months ago

is this already beeing worked on?

flxzt commented 8 months ago

I have a WIP branch locally, but it is stuck because of a bug in the parsing library that I wanted to use.

JustCryen commented 6 months ago

This feature would be a great thing for migrating users.

I used to use Onenote and while it was enough back when I was using it, Onenote files are a pain to work on, file export to pdf is finicky at best and not exporting half of the document at worst, it saves in a proprietary format and since I'm now on Linux, the notes, even when downloaded still need their awful and slow web version to even view the content.

Thanks for providing current projects that parse Onenote format in any way.

justinrubek commented 2 months ago

@flxzt do you still have your branch somewhere? The bug mentioned looks like it could be a serious issue, but also never mentions stroke data directly which is what I am interested in because I have a number of OneNote notebooks that I primarily want the handwritten notes and drawings from. I'd be willing to make an attempt to look into this given that importing at least those things may be possible and I may be able to work on that bug as part of it.

Doublonmousse commented 1 month ago

One thing to note : All microsoft-based applications (onenote, microsoft journal but also office) copy the InkML information of strokes when selecting ink strokes and copying them to the clipboard as well as Ink Serialized Format. image

When image are selected, base64 encoding of image seems to be available under the HTML format.

InkML is an open W3C format that's readable (contrary to ISF which is a serialized format, although converter exist and the standard is open as well). Unfortunately, this info is only available when selecting strokes and copying it to the clipboard, and not in any export menu.

Anyway, I think supporting InkML as an import format (when pasting from the clipboard) could be done and with a little more work 1-1 import of selected parts of onenote copied to the clipboard could be achieved in rnote.

Adding InkML as a format when copying stroke from rnote could be done as well and would allow for strokes coming from rnote to be imported as ink strokes in office and onenote applications.