前言
這其實也不是我的問題畢竟我也沒有在用 GoodNote 。雖然那咖軟體手感是真的很好,但是我才不會花錢在那個訂閱費用。但不得不說他的防盜版真的做的很好,唯一流出的盜版不但不是最新還只能用 jailbreak 開(平板沒辦法越、版本太新了)。
某個朋友他直屬傳給他的微積分筆記在 PDF 檔裡面螢光筆都會擋住後面的字發現動求助。而且沒有訂閱的 goodnote 匯入不了(他說的),我一個手癢就把檔案要過來了。
災情:

分析 / 查資料
拿到的檔案是 .goodnote 後綴,然後我猜他就是一種壓縮檔之類,如果是的話那這個可能有人作過正確 viewer 畢竟壓縮檔算好分析的

超好笑還真是
一開始的想法是直接看看有沒有 goodnote viewer
發現官方就有網頁版,但是他只接受 150 mb 以下的,所以沒辦法用。檔案比較小的可以試試看。
這個更是完全沒有用,因為他只支援非手寫的地方,那我就不需要用 goodnote 開了吧
最後找到這個,看簡介應該是有靠 AI Vibe 出來的,有點存疑但也沒東西可以用了就死馬當活馬醫
他有一個 live demo:
看起來可能是用 web assembly 處理轉換的功能,可能檔案太大了我丟進去就停止回應了😭

readme 寫說他有 cli,然後我覺得這種複雜的分析 grok 應該比較擅長我就 clone 下來的同時把 repo 丟給 grok
加上一些爬文,決定把檔案都先轉成 svg ,向量圖的特性說不定寫個 script 就可以把螢光筆直接刪掉之類。
1 | git clone https://github.com/Kaih1825/parser-for-goodnotes.git |
(記得裝 uv )
1 | uv run gn-export-svg <foo.goodnotes> -o <directory/> -a --pdf |
成功的生出一卡車的 SVG 了,雖然沒有像是一開始一樣全部遮住,但是還是沒有辦法閱讀

輸出後的原檔
去除螢光筆
一開始 Grok 建議直接用 CLI 匯出 JSON 分析筆刷再處理,但可能檔案太大或者這個 vibe project 真的有問題?跑了好幾分鐘都沒有出來。
我想到 SVG 不是可以直接看出不同線條的顏色嗎,那我直接把一個有螢光筆的檔案丟給 AI 分析看看。

然後下面那個紅色是紅色原子筆的筆刷,所以我就要 AI 寫一個 script 能批次刪除資料夾下的 svg 特定筆刷。
注意填入自己的路徑
螢光筆處理:
1 | mkdir -p clean_svg |
合併 svg(其實可以優化前面的檔名,不然檔名排序有點多餘)
1 | uv run python -c ' |
喔可以看到基本上其實可以吃本來的 uv 環境然後寫 python 腳本就好,但我急著要讀期中考😭
結果
可以看到都沒了

原檔:
淡化螢光筆
svg 是向量圖顯然可以改透明度吧!
一開始只有改透明度然後就出現一堆透明框框:

發現是 stroke 這個屬性沒有動到
1 | mkdir -p transparent_svg |
結果可以說是全對:

然後一樣用前面的方法把 svg 合併成 PDF 就好了
後記
該去讀期中考了,但是我覺得他還有東西可以改進,例如我不確定這個有沒有機會直接搞出線上的編輯器、還有筆畫的平滑(雖然我朋友說只是那個學長字太醜),或者更有野心也可以自己寫一個。這讓我想到之前有人靠 AI 神力重寫了 Adobe 軟體 ( PhotoCraft: An open-source, photo editor written by scratch in pure Rust),看畫這個餅哪天實現或者意識到自己在重造輪子吧。