分享

在Ubuntu下使用Foxit Reader作为PDF阅读器

 吾乃阿尔法 2013-11-24

如果你使用linux,或许你会发现linux下没有一个好的pdf阅读器。其实,对于我们通常 上阅读pdf来说,往往最需要两个功能:

  1. 正确的打开各种文件
  2. 可以添加注释和高亮文字

第一个要求并不高,linux下有很多软件都可以做到,比如xpdf,acroread,以及Foxit Reader的linux版本(当然,并不是所有的软件都能做到,比如evince在打开一些中文的 pdf的时候会出现乱码的情况)。而第二个要求却很少有软件做到,唯一的是Okular,而 这个东西我尝试了一下,有几个问题:首先,ubuntu默认使用的Gnome环境,Okular是在 KDE下面的软件,感觉不是那么爽,毕竟要安装和加载KDE相关的库;之后,也是最让我郁 闷的,就是在Okular中似乎不支持连续的注释,我每高亮一句话以后,要重新点击画笔进 行下一次高亮;第三,按照网上的人所说,Okular添加的注释也不是真正的修改了pdf文 件,这个我没有尝试,第二条就已经让我把它删掉了。

网上查了一些,最好的方法恐怕只有使用windows下的Foxit Reader了。这似乎已经是很 多人的共识,虽然这种方法似乎并不在ubuntu的论坛中提倡。

下面我们就来说一下如何在ubuntu下安装和使用windows下的Foxit Reader。

安装wine和Foxit Reader

安装wine在ubuntu下很简单:

1
sudo apt-get install wine

而Foxit Reader所谓的安装就是上网找一个windows平台的Foxit Reader软件,并将其 中程序的那个可执行文件(.exe)提取出来就是了,比如,我就把windows下用的Foxit Reader.exe拿到了linux下,并放在了 ~/softs/ 目录下,改名字为 foxitreader-win.exe

现在,就可以用wine来启动阅读器,实现基本的功能了:

1
wine ~/softs/foxitreader-win.exe

但是这还不够,我们会发现,我们无法直接用foxit reader打开linux下的pdf文件,比 如:

1
wine ~/softs/foxitreader-win.exe ~/desktop/test.pdf

这时,test.pdf没有被打开,而弹出了Foxit Reader的Usage页面。其实是路径不对的 缘故。下面来修改路径。

制作Foxit Reader运行项

为了实现这个,我们需要写一个脚本,并保存到 /usr/bin 目录下,起个名字比如 foxitreader-win

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash
# this is the wrapper to launch windows foxit reader
foxit_reader='/home/xzpeter/softs/foxitreader-win.exe'
root_drive='Z:\'
launch_param=''
for file in $@
do
    # if the file path is not full path, we should expand it
    if [ ! `echo $file | grep ^/` ]; then
        file="$(pwd)/$file"
    fi
    # format path under wine (Z:\ is the root in wine)
    param="${root_drive}$(echo "$file" | sed 's/\//\\/g')"
    launch_param="$launch_param $param"
done
# run foxit reader in the background
wine $foxit_reader $launch_param &

这个脚本我是从网上参考的,并进行了修改,现在支持同时打开多个文件,并且支持在 console模式下打开了。一般我会习惯让它在后台运行,也直接加到脚本里去了。下面 就是给它加上可执行权限:

1
sudo chmod a+x /usr/bin/foxitreader-win

现在,我们就可以随时的用这个脚本打开pdf文件了:

1
foxitreader-win ~/desktop/test.pdf

添加快速启动栏

现在在console里启动Foxit Reader已经十分方便了,可以给它再加一个desktop快捷方 式,这样可以拖到启动栏里去,比如我的dock里:

这个icon 是我自己从网上下载的。我把它放到 ~/.local/share/icons/ 目录下保 存起来,这里我给它起了一个名字叫做 foxit_reader_icon.png 。接下来,只需要再 在*~/.local/share/applications/* 目录下建立一个desktop文件就可以了。比如叫做 foxitreader-win.desktoip ,内容随便写写:

1
2
3
4
5
6
7
8
9
[Desktop Entry]
Name=Foxit Reader Wine Version
GenericName=PDF reader
Comment=PDF Reader
Exec=foxitreader-win %u
Icon=foxit_reader_icon.png
Terminal=false
Type=Application
Categories=Office

这样就大功告成了。把这个desktop文件随便拖放到任务栏或者是dock就好了。而且, 我们在“办公”项目中,也可以找到Foxit Reader Wine Version这个启动项了。

设置pdf的默认应用程序

就算设置完上面的所有,当我们双击一个pdf的时候,还是会调用evince。这就需要我们 修改默认的pdf阅读器了。这个设置可以在任何一个pdf上右键,选择“打开方式”->“其他 程序”来实现,也可以直接通过修改配置文件实现。如果想修改配置文件,则可以直接编 辑*~/.local/share/applications/mimeapps.list* 文件实现。默认情况下,这个文件 中应该有一行对应pdf文件的默认应用程序,如果是ubuntu的话往往是evince,比如:

1
2
3
...
application/pdf=evince.desktop;
...

我们要做的是加入刚才创建的那个desktop文件的名字放在最开始,这里就是:

1
application/pdf=foxitreader-win.desktop;evince.desktop;

这样,每次双击一个pdf都会默认使用wine的Foxit Reader打开了。

最神奇的是,wine出来的Foxit Reader也可以自动检测是否已经有运行了的Foxit Reader程序存在。如果有的话,则会弹出那个应用,并打开一个新的tab来显示文件,而 不是重新启动一个wine。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多