Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OneNote import #744

Open
flxzt opened this issue Jul 11, 2023 · 7 comments
Open

OneNote import #744

flxzt opened this issue Jul 11, 2023 · 7 comments
Labels
enhancement New feature or request

Comments

@flxzt
Copy link
Owner

flxzt commented Jul 11, 2023

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.

@flxzt flxzt added the enhancement New feature or request label Jul 11, 2023
@flxzt flxzt added this to the v0.8 milestone Aug 5, 2023
@flxzt flxzt removed this from the v0.8 milestone Sep 14, 2023
@einsJannis
Copy link

is this already beeing worked on?

@flxzt
Copy link
Owner Author

flxzt commented Oct 10, 2023

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

@JustCryen
Copy link

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
Copy link

@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
Copy link
Collaborator

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.

@GuiFlam
Copy link

GuiFlam commented Nov 15, 2024

Any progress on this?

@Doublonmousse
Copy link
Collaborator

Doublonmousse commented Nov 23, 2024

I've only started to look into parsing/writing inkML files/clipboard data very recently. Can't make promises on how much time it will take until I can push a PR for this though.

There's some weirdness in how onenote writes/parses inkml files (it's definitely very far from implementing the full spec, some values are hard-coded, especially for scaling, it'll always be a 1 int difference <-> 1/1000 of a cm even if you explicitly write another unit and resolution values). And I'm not sure I can match the variable stroke width between rnote and onenote.

In the inkml file, there's a base width/height for each stroke (per brush) + a pressure channel but I'm pretty sure matching the brush size in rnote and reading the pressure value won't give the same result (for one thing, I don't know how onenote does the pressure to thickness mapping, it's definitely not what rnote is doing though).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants