转自:http://www.gtwang.org/2011/05/linux-pdf.html

  PDF 檔雖然是一個跨平台的檔案格式,但 Adobe 只有提供免費的 Adobe Reader,要看 PDF 檔是沒有問題,但常常我們會需要對 PDF 檔做一些簡單的編輯,光靠 Adobe Reader 就沒有辦法處理,例如取出 PDF 檔中的某幾頁,或是將兩個 PDF 檔合併成一個 PDF 檔等,這些動作雖然簡單,但是 Adobe Reader 卻都沒有提供,有時也是很困擾。

這裡介紹一些在 Linux 下用來編輯 PDF 檔的工具,因為這些都是免費的小工具,所以功能可能都比不上花錢買的 Adobe Acrobat,不過若是只是要做一些簡單的動作倒是很方便。

PDF-Shuffler

PDF-Shuffler 是一個使用 python-gtk 寫成的小工具,他可以協助使用者合併或分割 PDF 檔,另外也可以對 PDF 的每一頁做旋轉、切割或重新排序。事實上他就是 python-pyPdf 的一個圖形化使用者介面。

在 Ubuntu Linux 下可以用 apt 直接安裝:

sudo apt-get install pdfshuffler

其使用者介面很簡單,只有幾個按鈕而已,使用者一開始可以使用 Import pdf 功能匯入要編輯的 PDF 檔,匯入之後 PDF-Shuffler 就會將 PDF 檔的內容顯示出來:

              PDF-Shuffler 畫面

這個時候使用者就可以開始編輯了,若要調整每一頁的順序,可以直接使用滑鼠將要調整的那一頁拖到想要的位置:

                  使用滑鼠拖曳頁面

PDF Split and Merge(PDFsam)

PDF Split and Merge 是一個很簡單的小工具,這個程式是用 Java 語言寫成的,其 basic 版本只有提供使用者分割或合併 PDF 檔的功能,若是要更多的功能可以下載其 enhanced 版本的原始碼自己編譯,或是捐一點錢給 PDFsam 然後下載他編譯好版本來用。

PDFsam 的 basic 版本在 Ubuntu 下可使用 apt 安裝:

sudo apt-get install pdfsam

這個工具有指令與圖形兩種使用介面,但其實其圖形介面也只有簡單的指定參數功能而已,比較沒有互動式的功能。

在 Split 功能中可以指定要分割的內容,例如奇數頁、偶數頁等,這些功能在處理大量有規則的 PDF 檔時會比較好用。

                      Split

Merge/Extract 功能就比較單純,只是將選取的 PDF 檔合併而已。

                  Merge/Extract

PDFsam 的 enhanced 版本比 basic 版本多了下面的功能:

  • 加密 PDF 檔(RC40 bits, RC128 bits, AES128 bits)與設定 PDF 檔案權限。
  • 將一個 PDF 檔作為 front page 或 addendum 合併至另一個 PDF 檔
  • 將兩個 PDF 檔的每一頁以正向或反向交叉合併
  • 取出 PDF 檔中的附加檔案
  • 解密 PDF 檔
  • 設定 viewer 的選項,指定如何開啟 PDF 檔
  • 設定 PDF 檔的 metadata(author, title, subject and keywords)

PDF Mod

PDF Mod 是 GNOME 桌面環境下的 PDF 檔案編輯程式,這個應用程式是以 C# 語言配合 PopplerPDFsharpMono、Gtk#、CairoBanshee's Hyena
函式庫編寫而成,他的功能與 PDF-Shuffler 類似,但是其功能更多,除了對 PDF 的每一頁做旋轉、切割或重新排序外,還可以編輯
PDF 的書籤、metadata(author, title, subject and
keywords)等,另外其使用者介面也做的更好,有許多選項可用,操作起來也很直覺,若是一般的 GNOME 桌面使用者筆者很推薦使用 PDF
Mod。

在 Ubuntu 下可用 apt 安裝 PDF Mod:

sudo apt-get install pdfmod

以下是一些 PDF Mod 的使用畫面:

                  PDF Mod 畫面

              在兩個 PDF 檔之間使用滑鼠拖曳頁面

PDFedit

PDFedit 是一個開放原始碼的函式庫,主要用於編輯 PDF 檔案,這個函式庫包含了包含了包含了圖形使用者介面與命令列工具,其功能相當強大,例如可以編輯 PDF 檔案中的文字與圖片內容,更改文字字型、顏色,另外也可以像繪圖軟體一樣在任意位置加入文字或線條等。

在 Ubuntu 中可以用 apt 來安裝:

sudo apt-get install pdfedit

因為 PDFedit 的圖形使用者介面是使用 Qt 連撰寫的,因此在安裝時也要一併安裝 Qt 函式庫,若是使用 apt 來安裝則會自動處理這部份。

PDFedit 除了選單與工具列的功能之外,PDFedit 也可以使用指令來操控,在畫面下方也會顯示使用者在操作時實際所執行的指令為何。

由於 PDFedit 的功能很多,其實一般使用者也不常用(筆者自己也感覺用不太到),若要學習 PDFedit 與其指令的用法,可以參考 PDFedit 官方說明文件

                  PDFedit 畫面

PDF Chain

PDF Chain 是一個很簡單的 PDF 編輯程式,與 PDF Split and Merge 很相似,都只是提供一個圖形介面輸入參數而已,不過多了一些像加入背景圖片、附加檔案等功能,除此之外都差不多。

在 Ubuntu 下可使用 apt 安裝 PDF Chain:

sudo apt-get install pdfchain

                  PDF Chain 畫面

   

結論

嘗試了 Linux 下的各種 PDF 編輯軟體,若只是需要一些簡單的 PDF 頁面分割與合併功能,筆者感覺最好用的就是 PDF
Mod,其使用者介面做的最棒,但若是要處理比較大量的 PDF 檔,或是更複雜文字編輯,那就要考慮 PDFedit 或是其他幾個軟體了。

Linux 下編輯 PDF 檔的工具(PDF editor under Linux)(转载)的更多相关文章

  1. Linux下的暴力密码在线破解工具Hydra安装及其组件安装-使用

    Linux下的暴力密码在线破解工具Hydra安装及其组件安装-使用 hydra可以破解: http://www.thc.org/thc-hydra,可支持AFP, Cisco AAA, Cisco a ...

  2. (总结)Linux下的暴力密码在线破解工具Hydra详解

    (总结)Linux下的暴力密码在线破解工具Hydra详解 学习了:https://blog.csdn.net/yafeichang/article/details/53502869

  3. Windows/Linux下磁盘使用的图形化工具简介

    Windows/Linux下磁盘使用的图形化工具简介   如何以图形界面查看磁盘及分区的大小及剩余容量呢?今天我为大家介绍两款Windows/Linux下磁盘使用的图形化工具分别是Spacesniff ...

  4. 终端的乐趣--Linux下有趣的终端命令或者工具【转】

    转自:https://blog.csdn.net/gatieme/article/details/52144603 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原 ...

  5. Linux 下最为人熟知的解压缩工具

    很多时候,通过互联网发送或接收大文件和图片是一件令人头疼的事.压缩及解压缩工具正好可以应对这个问题.下面让我们快速浏览一些可以使得我们的工作更加轻松的开源工具. Tar Tar 由 ‘Tape arc ...

  6. Linux下的两种磁盘分区工具的使用

    如何使用fdisk和parted分区工具来进行硬盘分区,下面我来说一下在Linux系统中这两种硬盘分区工具的使用方法:     ----------fdisk分区工具----------       ...

  7. Linux下方便的块设备查看工具lsblk

    之前在Linux下看有什么块设备,通常都用fdisk什么的或者直接ls /dev/ 去看很不方便. 这个工具属于util-linux-ng包,在RHEL 6.1上是安装好的啦,直接用就好. ubunt ...

  8. Linux下一款可以使用命令行的pdf阅读器

    Zathura是linux下一款用命令行控制打pdf阅读器,并且基本打使用方法和vim很相似.对于喜欢键盘操作的用户来说的确是一个不错的选择. ubuntu下的安装命令: sudo apt-get i ...

  9. linux下最简单的端口转发工具

    linux下简单好用的工具rinetd,实现端口映射/转发/重定向 官网地址http://www.boutell.com/rinetd 软件下载wget http://www.boutell.com/ ...

随机推荐

  1. 国内程序员的十大疑问之一:为什么老外不愿意用MyBatis?

    老外用MyBatis吗 昨天我在我在知乎看到了一张比较Hibernate和MyBatis使用情况的图,顺手发了条朋友圈: Hibernate vs MyBatis ,谁能告诉我什么样的国情导致了这么大 ...

  2. Linux系统备份还原工具4(rsync/远程数据同步工具)

    rsync即是能备份系统也是数据同步的工具. 在Jenkins上可以使用rsync结合SSH的免密登录做数据同步和分发.这样一来可以达到部署全命令化,不需要依赖任何插件去实现. 命令参考:http:/ ...

  3. 基于xml配置springmvc

    controller关键代码 public class MenuController extends MultiActionController 方法: public ModelAndView lis ...

  4. Why It is so hard to explain or show some thing

    Why it is hard to explain something or learn something? For example, when I first know the hadoop, I ...

  5. DHCP Snooping的实现

    DHCP Snooping的实现 DHCP Snooping的实现 主要作用:1.防止在动态获得IP地址的网络环境中用户手动配置PC的IP地址;2.防止A用户的PC静态配置的IP地址顶掉B用户PC动态 ...

  6. osg提前定义几何体设置颜色

    注意尽管osg::shape不能够设置颜色,可是osg::shapedrawable能够.

  7. SpringMVC DispatcherServlet初始化过程

    先来上一张类的结构图: 图里仅仅画了跟初始化相关的方法. 首先DispatcherServlet也是一个Servlet,初始化从init()方法開始. 以下就详细看看ini()是怎么实现的吧. 1.S ...

  8. openstack (5)-- 部署 Neutron 网络服务

    Neutron 概念: 传统的网络管理方式很大程度上依赖于管理员手工配置和维护各种网络硬件设备:而云环境下的网络已经变得非常复杂,特别是在多租户场景里,用户随时都可能需要创建.修改和删除网络,网络的连 ...

  9. codeforces 552 C Vanya and Scales

    这个题的意思就是给出一个数m.以及一个以1为首元素.w为比例常数的等比数列,数列长度为101,数列中每一个数字最多仅仅能用一次.问是否存在xa+wb+--=wc+wd+--+we+m. 非常显然,换句 ...

  10. 使用mpxj读取MSPrjoect

    import java.util.ArrayList; import java.util.Calendar; import java.util.Hashtable; import java.util. ...