使用Surface Go 2平板跑Linux,當然就是會有用到手寫筆記的時候。
需求:可以手指觸控檢視PDF,也可以在PDF上面用觸控筆寫筆記的自由開源軟體。
我不強求要複雜的編輯合併功能,那些操作我一般都丟給自架的StirlingPDF網頁處理。我只是想在Linux平板本地看PDF做筆記而已。粗略地說,我想要一款類似Adobe Acrobat的軟體。可以近似Microsoft OneNote功能的話更好。
總覺得,這在虐待自己。也許是我要求太高,跟Android與iOS比起來,Linux註解PDF的程式非常不成熟。
手寫註釋PDF,這種在iPad Air 6用Apple Pencil就能達到的簡單操作,在安裝Debian Linux的Surface Go 2平板非常困難,測試到快中風了。幸而結果令人滿意。
首先,我想要一個PDF閱讀器,是那種在低RAM裝置也能流暢載入上百頁PDF原文書的程式,並在上面寫筆記。看起來除了KOReader、Okular、Rnote以外都把RAM當免錢的在用,優化很差勁。
再來,Linux的PDF簽名程式,似乎沒有一個成熟的,試了好久才找到滿意方案。
Linux不能使用Adobe Acrobat。我不想用Wine,儘管Wine資料庫指出Linux可以執行Adobe Acrobat,但仍想找自由開源的替代方案。
桌面環境附贈的文件閱讀器呢?GNOME Evince就不說了,功能爛到渣還吃資源。
KDE Okular看起來好點,載入大型PDF也不會卡,算是多功能的PDF閱讀器。但也只是為鍵盤模式設計,無法手寫PDF文字,或說它認不到觸控筆,沒有手掌防誤觸。
再來是獨立程式。
KOReader本身是為墨水螢幕閱讀器設計的…操作邏輯很詭異,應該只適合純讀書。要裝外掛才有手寫支援。
Saber Notes,跨平台支援Linux/Windows/macOS,寫到一半會亂跳,沒有手掌防誤觸(Palm Rejection)。看來它這個Flutter寫的跨平台程式僅有針對iOS和Abdroid觸控優化。
雖然Markdown筆記軟體Joplin可以內嵌PDF,但這個程式本體Electron就很肥了,使用上不理想。
Xournal++是最著名的手寫軟體之一,C++寫的,跨平台支援Linux/Windows/macOS。GTK介面很醜,但是是可以有效區別觸控手勢與手寫筆輸入事件的軟體,支援手掌防誤觸。可惜太吃資源,簡單寫幾個字就吃掉3GB RAM,對低記憶體的裝置不友善。這疑似是最近Flatpak版本的bug:High memory usage when viewing PDFs #6016
中間我竟然要用Firefox的PDF閱讀程式(基於pdf.js開發)去註解PDF,才是最順的方案。起碼Firefox不太吃資源,且可以分辨觸控和觸控筆輸入的事件。雖然沒有筆壓。另外Microsoft Edge也可以用來註解PDF。
幸好最後,我找到Rnote這款以手寫筆記為主的軟體,果然GTK4和Rust寫的就是不一樣。跨平台支援Linux/Windows/macOS。支援筆壓,手掌防誤觸,不會像Xournal++吃資源。這個軟體可以輕鬆匯入多頁PDF並在上面寫註解,支援同時檢視多個檔案,提供無限擴展的畫布。可惜不能快速跳頁。用Flatpak安裝即可使用。存檔格式是.rnote。也可以單獨匯出編輯過的PDF。


