この記事を作った動機
OneNoteの代替を作りたいというところから出発したので、OneNote自体について調べる必要があると思ったため。
私のOneNoteの利用例
OneNote は Office 365などに含まれていて、有償版とMS store からダウンロードできる無償版の2種類がある。無償版はしつこく MS 365 に課金するように催促される。
windows 環境であればローカルにデスクトップ版をインストールし、今までのOffice 2021とか、Office 2007みたいに使うこともでき、OneNote も同じ感じである。クラウド機能もあるらしいが、私は大抵のクラウドサービスには否定的で明るくないので、使ったことはない。
私がOneNoteを使っていたときは、半期ごとにノートを分けて、その中に授業ごとのセクションを作り、ページで細かい授業単位のデータ管理をするという感じであった。
気になる機能
階層的なコンテンツ管理
- ノートブック
- セクション
- ページ
- …
階層構造の利用例
- セクション
Office 系列と似たような書式フォーマットや操作
インク機能のインターフェイス(全体表示のとき)

自由なオブジェクトの配置
以下は、ある授業のレポートでネットワークの設定や構成について、与えられた課題にどう取り組んだのか説明する必要があった時の例である。画像をいろんなところに自由に配置し、インク機能を使って書き込み、一枚の絵として説明を完成させた。
書き込み可
今回はPDF資料の上に、インク機能で書き込む例をいかに示す。このようにして自由にいろんなものを重ね合わせて扱うことができる。
マルチメディアサポート
- ペンタブレット
- 画像、動画、テキスト
- バイナリファイル添付
様々な入力やメディアを扱える例
ストローク消しゴム
ink 機能では、ただ部分的にペイントソフトと同じように線とか描いたものを消せるだけじゃなくて、ストローク単位で一気に消したりできるのは、正直大きい。
クロスプラットフォーム対応
完全ではないが、クロスプラットフォームに対応している web 版があることに気づいた。そして、どうせ web 版ではろくに ink API とか使えないだろうと思っていたのだが、Windows 11 24H2 と Google Chrome 138 の組み合わせでは、実際に手書き入力ができることがわかったりした。思い込みが発覚し、調査の余地があることが分かった。


ink API
とりあえずクロスプラットフォームで ink API が動くか簡単に調べてみた。なお Mac OS 系列は実機を持っていないので調べていない。あと筆圧検知はどのテストでも対応している感じではなく、単に一定の太さ、濃さの線が引かれるといった感じであった。あくまでペンとしては認識し、自動的にモードが切り替わるところまでであった。
Windows 11 24H2 と Google Chrome 138 (OK)

# wayland 環境の参考
gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer','xwayland-native-scaling']"
Gnome と Linux、Google Chrome 138
- Wayland (X)
# ~/.config/chrome-flags.conf
# ink API に関係ありそうなもの
--enable-features=UseOzonePlatform
--ozone-platform=wayland
--wayland-text-input-version=3
--enable-wayland-ime
--gtk-version=4
# ink API に関係なさそうなもの
--enable-features=Vulkan
--disable-features=UseChromeOSDirectVideoDecoder
#--enable-features=VaapiVideoDecodeLinuxGL
--enable-features=AcceleratedVideoDecodeLinuxGL
--disable-features=GlobalShortcutsPortal
xwininfo
xwininfo: Please select the window about which you
would like information by clicking the
mouse in that window.
# 対象のWindow(Chrome)をクリックしても反応がない。
# -> Wayland 環境で動いている
^C

- XWayland (OK)
# ~/.config/chrome-flags.conf
# ink API に関係ありそうなもの
--enable-features=UseOzonePlatform
# --ozone-platform=wayland
--ozone-platform=x11
--wayland-text-input-version=3
--enable-wayland-ime
--gtk-version=4
# ink API に関係なさそうなもの
--enable-features=Vulkan
--disable-features=UseChromeOSDirectVideoDecoder
#--enable-features=VaapiVideoDecodeLinuxGL
--enable-features=AcceleratedVideoDecodeLinuxGL
--disable-features=GlobalShortcutsPortal
xwininfo
xwininfo: Please select the window about which you
would like information by clicking the
mouse in that window.
xwininfo: Window id: 0xa00020 "Test - Google Chrome"
Absolute upper-left X: 0
Absolute upper-left Y: 96
Relative upper-left X: 0
Relative upper-left Y: 96
Width: 4608
Height: 2496
Depth: 32
Visual: 0x2c6
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0xa00003 (not installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +0+96 -0+96 -0-0 +0-0
-geometry 4608x2496+0-0

- X11 (OK)
# ~/.config/chrome-flags.conf
# ink API に関係ありそうなもの
--enable-features=UseOzonePlatform
# --ozone-platform=wayland
--ozone-platform=x11
--wayland-text-input-version=3
--gtk-version=4
--enable-wayland-ime
# ink API に関係なさそうなもの
--enable-features=Vulkan
--disable-features=UseChromeOSDirectVideoDecoder
#--enable-features=VaapiVideoDecodeLinuxGL
--enable-features=AcceleratedVideoDecodeLinuxGL
--disable-features=GlobalShortcutsPortal
xwininfo
xwininfo: Please select the window about which you
would like information by clicking the
mouse in that window.
xwininfo: Window id: 0x1400016 "Test - Google Chrome"
Absolute upper-left X: 0
Absolute upper-left Y: 96
Relative upper-left X: 0
Relative upper-left Y: 96
Width: 3840
Height: 2064
Depth: 32
Visual: 0x507
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x1400003 (not installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +0+96 -0+96 -0-0 +0-0
-geometry 3840x2064+0-0

全体表示
Web 版では全体表示は今のところ(2025年8月2日)は非対応のようである。
ローカルでのデータ管理
OneDrive にデータが保存されており、ダウンロードが可能であった。ノートブック単体ではダウンロードオプションがなく、Notebooks フォルダごとダウンロードすることで、ローカルにデータを置き、管理することは可能であることが分かった。ただ直接 Web 版からローカルファイルを参照させることは、クラウド前提である様相であり、できなさそうである。
ダウンロードができる様子とできない様子


ダウンロードできるファイル構成
見た感じはローカルで動く OneNote とフォルダ構成と違いは見受けられない。
(base) PS C:\Users\username\Downloads\Notebooks> tree /f
Folder PATH listing for volume Win
Volume serial number is
C:.
└─Notebooks
└─Test
test section.one
Test.onetoc2
無料版がある

不満点
プロプライエタリバイナリ
セクションごとに、独自バイナリ形式でデータが記録されている。どういう構造になっているのか不明である。ただちょくちょく github に何かしらデータを読み出すプロジェクトは転がっているようである。

調査ポイント
.one ファイルの実態
ただのバイナリファイルなのか、zipとかとの親戚的な何かなのか、何かしらAPIがあるのか。
アドイン?について
アドインのサンプル
アドインとは?
また未調査。何ができるのかを中心に調べたい。
参考にしたサイトとか
プロプライエタリバイナリについて
- alopezrivera/OneNoteExporter: Export your OneNote note collection to Obsidian, Logseq, Org Mode or any other plain text note-taking app!
https://github.com/alopezrivera/OneNoteExporter (2025年7月30日) - Insert or Extract Images from OneNote .one File Programmatically using C#
https://gist.github.com/aspose-com-gists/12bbcc53310dce4971854eae512f54e8 (2025年7月30日)
アドインの参考になりそうなもの
- stevencohn/OneMore: A OneNote add-in with simple, yet powerful and useful features
https://github.com/stevencohn/OneMore (2025年7月30日)
フリースペース
- OneNoteDev
https://github.com/onenotedev (2025年7月30日) - OneNoteDev/WebClipper: The OneNote Web Clipper extension
https://github.com/OneNoteDev/WebClipper (2025年7月30日) - xorg - How can I tell if an application is using XWayland? - Ask Ubuntu
https://askubuntu.com/questions/1393618/how-can-i-tell-if-an-application-is-using-xwayland (2025年8月2日)