xpdf 配置笔记

先说一下系统环境是 debian 6.0.2,xpdf 版本是 3.0.2。

为神马要强调一下环境呢?因为以前用 kpdf 有乱码的时候可以装 xpdf-chinese-simplified(kpdf 是基于 xpdf 的,大概是 debian 4.0 的时候这个包还在),但是现在搜了一下已经没了,然后从网上下了一个 deb,安装的时候说要 xpdf-common 这个包,一搜又没有了(直接到源网站上可以找到,是 debian5 的版本,但是用 aptitude search 搜不到,应该是在 6 中被移除了)。

把 pdf 的背景颜色改为浅绿色(#cce8cf),这样看的时间长了眼睛不容易累,但是一直都没找到 evince 的修改 pdf 背景颜色的选项,想装回 kpdf 又找不到(kde4 的 pdf 阅读器已经改为 okular 了,功能强大,依赖的包也更多,装个看 pdf 的要 100M+ 的库),而有天无意发现 xpdf 可以更改背景颜色和连续翻页等功能,尽管界面和 gnome 的不太协调。

好吧,废话不说了,一点点地把配置记录下来。

修改背景颜色

修改背景颜色选项:“-papercolor "color"”,其中 color 可以是一些颜色的名字如“red”,也可以是 rgb 值“#cce8cf”。在终端启动 xpdf 的时候加上选项:

xpdf -papercolor "#cce8cf" my.pdf

上面的方法需要每次从命令行启动,如果希望在图形界面中双击 pdf 打开时也使用这个配置,把这个选项加入 ~/.Xdefaults(没有就自己新建一个):

xpdf.paperColor: #cce8cf

执行下面的命令使配置生效:

xrdb -load ~/.Xdefaults

然后把上面的命令写入 ~/.bashrc(或 ~/.bash_profile)中,这样下次登录的时候就不用再执行一遍命令。

页面调整

连续浏览的选项:

xpdf -cont my.pdf

同样地可以把配置写到 ~/.xpdfrc 中(注意不是 ~/.Xdefaults):

continuousView "yes"

如果想打开 pdf 的时候页面自动适应宽度,命令行的选项是:

xpdf -z "width" my.pdf

写到 ~/.xpdfrc 中的选项是:

initialZoom "width"

中文编码

在 /usr/share/xpdf 里有一个 xpdfrc-chinese-simplified 的文件:

#----- begin Chinese Simplified support package (2010-Apr-15)
cidToUnicode    Adobe-GB1       /usr/share/poppler/cidToUnicode/Adobe-GB1
unicodeMap      ISO-2022-CN     /usr/share/poppler/unicodeMap/ISO-2022-CN
unicodeMap      EUC-CN          /usr/share/poppler/unicodeMap/EUC-CN
unicodeMap      GBK             /usr/share/poppler/unicodeMap/GBK
cMapDir         Adobe-GB1       /usr/share/poppler/cMap/Adobe-GB1
toUnicodeDir                    /usr/share/poppler/cMap/Adobe-GB1
displayCIDFontTT        Adobe-GB1      /usr/share/fonts/truetype/wqy/wqy-zenhei.ttc
#----- end Chinese Simplified support package

把上面的内容添加到 ~/.xpdfrc 中。从文件内容可以看到使用了 poppler
和文泉驿正黑,这需要安装 poppler-data 和 ttf-wqy-zenhei(debian
中的包名),或者到官网去下载相应的包,装好之后 pdf
的内容应该不会有乱码了,但是标题和书签的问题还没解决。这里 有一个 xpdf 3.0 的 patch,从截图看来可以很好的解决标题和书签乱码的问题,有兴趣的可以试试。

快捷键绑定(2011.08.02 更新)

在 ~/.xpdfrc 中添加下面内容模拟 vim 按键,同时也算是解决了鼠标滚轮过慢的问题,因为不再用鼠标了……

bind j any scrollDown(64)
bind k any scrollUp(64)
bind h any scrollLeft(64)
bind l any scrollRight(64)
bind / any find
bind ctrl-f any pageDown
bind ctrl-b any pageUp
bind G any gotoLastPage

Comment (1)

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注