Home

Awesome

About

CodeQL Codacy Badge pdfarranger codecov

PDF Arranger is a small python-gtk application, which helps the user to merge or split PDF documents and rotate, crop and rearrange their pages using an interactive and intuitive graphical interface. It is a front end for pikepdf.

PDF Arranger is a fork of Konstantinos Poulios’s PDF-Shuffler (see Savannah or Sourceforge). It’s a humble attempt to make the project a bit more active.

For more info see User Manual.

screenshot of PDF Arranger

Downloads

PDF Arranger for Windows<a href='https://flathub.org/apps/details/com.github.jeromerobert.pdfarranger'><img width='120' alt='Download on Flathub' src='https://flathub.org/assets/badges/flathub-badge-en.svg'/></a><a href="https://snapcraft.io/pdfarranger"><img width='120' alt="Get it from the Snap Store" src="https://snapcraft.io/static/images/badges/en/snap-store-black.svg" /></a>More…

Linux and BSD packages

Linux packages

Install from source

PDF Arranger requires pikepdf >= 6. Pip will automatically install the latest pikepdf if there is no pikepdf installed on the system.

On Debian-based distributions

sudo apt-get install python3-pip python3-wheel python3-gi python3-gi-cairo \
    gir1.2-gtk-3.0 gir1.2-poppler-0.18 gir1.2-handy-1 python3-setuptools

On Arch Linux

sudo pacman -S poppler-glib python-pip python-gobject gtk3 python-cairo libhandy

On Fedora

sudo dnf install poppler-glib python3-pip python3-gobject gtk3 python3-cairo \
    python3-wheel python3-pikepdf python3-img2pdf python3-dateutil libhandy

On FreeBSD

sudo pkg install devel/gettext devel/py-gobject3 devel/py-pip \
    graphics/poppler-glib textproc/py-pikepdf x11-toolkits/gtk30 \
    x11-toolkits/libhandy

Then

pip3 install --user --upgrade https://github.com/pdfarranger/pdfarranger/zipball/main

In addition, PDF Arranger supports image file import if img2pdf is installed.

For developers

git clone https://github.com/pdfarranger/pdfarranger.git
cd pdfarranger
./setup.py build
python3 -m pdfarranger

For Windows see Win32.md.

For MacOS

On MacOS, you need to configure the dependency of GTK3 and gettext. Following Environment Variables need to be set:

  1. GSETTINGS_SCHEMA_DIR: The file $GSETTINGS_SCHEMA_DIR/org.gtk.Settings.FileChooser.gschema.xml should exist.
  2. DYLD_LIBRARY_PATH: The file $DYLD_LIBRARY_PATH/libintl.8.dylib should exist.

When the dependencies are configured successfully, you can run

./setup.py build
python3 -m pdfarranger

For translators