其實我只想要一個非常簡單的PDF閱讀器,不要很花哨的功能,只要能夠:
速度夠快,不要翻一頁等半天;
全鍵盤操作,不想在鼠標和鍵盤之間來回倒騰;
可以改變背景色,深夜的白光好刺眼;
自由旋轉頁面,有些PDF的頁面簡直是太斜了;
用過PDF Expert、PDF Reader、Skim……,發現這些個玩意還沒有系統自帶的Preview好用。輪子不夠,看來只能自己造了,誰叫咱是碼農呢?
最接近我需求的是Mupdf,但是這貨問題太多而且需要XQuartz的支持,要X11支持也就算了, 竟然還不能全屏 ,這意味著EI Capitan的Splitview
也無法使用。
編譯好的macOS執行文件 https://pan.baidu.com/s/1misB9GG
去除X11的依賴,用Cocoa窗口
好在mupdf源代碼支持多平臺,可以用OpenGL,而OpenGL與Cocoa結合很緊密,所以工程的關鍵是讓mupdf用glfw來建立窗口,具體步驟我在Github上說了很多,這里就不啰嗦
修改Bug,增加快捷鍵操作,添加功能
這開源代碼的Bug就是多啊,不過不要緊,誰叫咱是碼農呢?修改的幾個主要問題在Github上我也提到了,咱說如何使用吧
命令行打開,鍵盤閱讀
打開文件的正確方式是在終端中運行如下操作:
mupdf-gl filename.pdf <page>
干嘛不來一個Bundle App?再設計一個菜單,從菜單中選擇打開文件,最好再搞一個Command+O之類的快捷鍵,再整合到Findle的右鍵菜單……
等等,咱是碼農,對吧?碼農打開文件的正確方式難道不是在終端中輸入命令的嗎?
運指如飛
Vim 常用鍵大部分都有,我又整合進去了一部分h,j,k,l
,你懂的空格鍵,d,u,b
當然是上下翻頁了+,-
放大縮小x,y
進行左右或上下裁邊,如果裁多了,按大寫X,Y
縮小裁邊區域w,W,H
自適應寬度和高度q
一鍵退出,別亂按m,t
書簽跳轉g
前面加一個數字就是跳轉到指定頁面[,]
左右旋轉,微調不正的頁面,這個太有用了v
反轉顏色
還有好多,你自己摸索下?
背景色任意換
由于是采用OpenGL繪圖,換一個背景色那是相當的Easy!啟動的時候指定RGB就行
mupdf-gl -C 0xFDF6E3 filename.pdf
mupdf-gl -C 0x00F600 filename.pdf
源代碼
想自己編譯的可以在Github下載,最新的代碼都在 https://github.com/dean-wong/... ,有空就幫忙點一個Star吧^_^