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