1. 工具简介

PDF Arranger 是一款轻量、直观、开源的PDF页面处理工具。它的主要目标是提供一个简单易用的图形用户界面(GUI),让用户可以方便地对PDF文档的页面进行合并、拆分、排序等操作。

你可以把它想象成一个PDF页面的“幻灯片管理器”,所有的操作都非常直观。

核心功能:

  • 合并PDF:将多个PDF文档合并成一个。

  • 拆分PDF:从一个PDF中提取部分页面,生成新的PDF。

  • 重新排序:通过拖拽(drag-and-drop)任意调整页面顺序。

  • 旋转页面:可以独立旋转一个或多个选定的页面。

  • 裁剪页面:删除页面边缘多余的白边,使内容更突出。

  • 删除页面:从文档中移除不需要的页面。

  • 导出页面:将选定的页面导出为新的PDF文件。

技术栈: 它主要使用 Python 编写,图形界面库为 GTK+ 3,核心的PDF处理能力依赖于 pikepdf 这个强大的Python库。

2. 安装指南

PDF Arranger 支持主流的桌面操作系统。

Linux (推荐)

作为原生的GTK应用,它在Linux上拥有最好的支持。

  • 通过Flatpak(推荐方式,适用于大多数发行版):

    Bash
    flatpak install flathub com.github.jeromerobert.pdfarranger
    flatpak run com.github.jeromerobert.pdfarranger
    
  • 通过包管理器:

    • Debian / Ubuntu / Mint:Bash

      sudo apt-get install pdfarranger
      
    • Fedora:

      Bash
      sudo dnf install pdfarranger
      
    • Arch Linux:

      Bash
      sudo pacman -S pdfarranger
      

Windows

官方提供独立的安装包或便携版。你可以从项目的GitHub Releases页面下载最新的 .msi 安装程序。下载后双击安装即可。

macOS

官方没有提供原生的macOS构建版本。macOS用户可以通过一些社区维护的包管理器(如 MacPorts 或 Homebrew)来安装,但这可能需要手动解决一些依赖问题。

3. 图形界面使用

PDF Arranger的精髓在于其直观的图形界面。

  1. 启动应用:在Linux或Windows的应用菜单中找到并打开 "PDF Arranger"。

  2. 打开文件

    • 点击左上角的“添加”按钮(或通过 文件 > 添加 菜单)来打开你的第一个PDF文件。

    • 所有页面会以缩略图的形式展现在主窗口中。

  3. 选择页面

    • 单个页面:直接用鼠标左键点击。

    • 多个连续页面:点击第一个页面,然后按住 Shift 键再点击最后一个页面。

    • 多个不连续页面:按住 Ctrl 键,然后逐个点击你想要的页面。

  4. 执行操作

    • 重新排序:直接用鼠标拖拽选定的页面到新的位置。

    • 合并文档:再次点击“添加”按钮,打开另一个PDF文件,它的页面会自动追加到当前页面的末尾,然后你可以自由拖拽排序。

    • 旋转/裁剪/删除:选中一个或多个页面后,点击鼠标右键,在弹出的上下文菜单中选择“旋转”、“裁剪”或“删除”等操作。你也可以使用主工具栏上的快捷按钮。

  5. 保存结果

    • 完成所有编辑后,点击 文件 > 保存文件 > 另存为

    • 注意:“保存”会覆盖你打开的原始文件(如果只有一个),“另存为”则会创建一个新的PDF文件。为了安全起见,建议总是使用“另存为”。


4. “代码使用”解读与替代方案

这是一个非常重要的部分。PDF Arranger 本身是一个GUI应用程序,而不是一个为开发者设计的Python库。 这意味着你通常不会在你的代码中通过 import pdfarranger 来调用它的功能。它的代码结构是为了启动和运行一个图形界面。

不过,我们可以从以下两个“代码层面”的角度来理解它:

a) 命令行启动

你可以通过命令行来启动PDF Arranger,并让它在启动时直接打开一个或多个文件。

Bash

# 启动并打开一个文件
pdfarranger /path/to/document1.pdf

# 启动并同时打开(合并)两个文件
pdfarranger /path/to/document1.pdf /path/to/document2.pdf

这对于编写一些简单的桌面自动化脚本可能有用,但它仍然会打开图形界面,需要用户手动操作并保存。它没有提供用于批处理的命令行参数(例如,--rotate 90--output file.pdf)。

b) 核心库PikePDF:真正的代码解决方案

对于开发者来说,最有价值的是了解 PDF Arranger 在底层使用了什么。它的核心是 pikepdf 库。如果你希望用代码实现PDF的合并、拆分等功能,你应该直接使用 pikepdf

下面是一个使用 pikepdf 实现PDF合并的代码示例,这正是PDF Arranger在后台为你做的事情。

首先,安装 pikepdf:

Bash

pip install pikepdf

Python代码示例:合并两个PDF文件

Python

import pikepdf

# 定义要合并的文件列表
pdf_files = ['document1.pdf', 'document2.pdf']
output_filename = 'merged_document.pdf'

# 创建一个新的、空的PDF文档对象
new_pdf = pikepdf.Pdf.new()

# 遍历文件列表
print("开始合并...")
for filename in pdf_files:
    try:
        # 以只读方式打开每个PDF
        with pikepdf.Pdf.open(filename) as src_pdf:
            print(f"正在添加 {filename} 的 {len(src_pdf.pages)} 页...")
            # 将源PDF的所有页面追加到新PDF的末尾
            new_pdf.pages.extend(src_pdf.pages)
    except Exception as e:
        print(f"处理文件 {filename} 时出错: {e}")

# 保存合并后的新PDF
try:
    print(f"正在保存合并后的文件: {output_filename}")
    new_pdf.save(output_filename)
    print("合并成功!")
except Exception as e:
    print(f"保存文件时出错: {e}")

这个例子展示了如何以编程方式实现PDF Arranger的核心功能之一。你可以参照 pikepdf 的官方文档来实现更多高级操作,如旋转、裁剪等。

总结

  • 对于普通用户:PDF Arranger 是一款极其出色、简单易用的桌面工具,用于手动的PDF页面管理。

  • 对于开发者/高级用户:虽然PDF Arranger本身不提供编程接口(API),但它是开源的,并且它向我们揭示了其强大的“心脏”——pikepdf库。当你需要自动化或在自己的Python项目中集成PDF处理功能时,直接使用 pikepdf 是正确且更强大的选择。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐