打造全鍵盤操做的PDF閱讀器

其實我只想要一個很是簡單的PDF閱讀器,不要很花哨的功能,只要可以:git

  1. 速度夠快,不要翻一頁等半天;github

  2. 全鍵盤操做,不想在鼠標和鍵盤之間來回倒騰;api

  3. 能夠改變背景色,深夜的白光好刺眼;spa

  4. 自由旋轉頁面,有些PDF的頁面簡直是太斜了;命令行

用過PDF Expert、PDF Reader、Skim……,發現這些個玩意尚未系統自帶的Preview好用。輪子不夠,看來只能本身造了,誰叫咱是碼農呢?設計

最接近我需求的是Mupdf,可是這貨問題太多並且須要XQuartz的支持,要X11支持也就算了, 居然還不能全屏 ,這意味着EI Capitan的Splitview也沒法使用。code

編譯好的macOS執行文件 https://pan.baidu.com/s/1misB9GGrem

去除X11的依賴,用Cocoa窗口

好在mupdf源代碼支持多平臺,能夠用OpenGL,而OpenGL與Cocoa結合很緊密,因此工程的關鍵是讓mupdf用glfw來創建窗口,具體步驟我在Github上說了不少,這裏就不囉嗦get

修改Bug,增長快捷鍵操做,添加功能

這開源代碼的Bug就是多啊,不過沒關係,誰叫咱是碼農呢?修改的幾個主要問題在Github上我也提到了,咱說如何使用吧it

命令行打開,鍵盤閱讀

打開文件的正確方式是在終端中運行以下操做:

mupdf-gl filename.pdf <page>

幹嗎不來一個Bundle App?再設計一個菜單,從菜單中選擇打開文件,最好再搞一個Command+O之類的快捷鍵,再整合到Findle的右鍵菜單……
等等,咱是碼農,對吧?碼農打開文件的正確方式難道不是在終端中輸入命令的嗎?

左邊是打開的PDF

Splitview方式

左邊是裁邊以後的效果,右邊是原始頁面

運指如飛

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

經典的Solarized light

mupdf-gl -C 0x00F600 filename.pdf

隨意來一個綠色

源代碼

想本身編譯的能夠在Github下載,最新的代碼都在 https://github.com/dean-wong/... ,有空就幫忙點一個Star吧^_^

相關文章
相關標籤/搜索