Awesome
About
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.
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
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:
GSETTINGS_SCHEMA_DIR
: The file$GSETTINGS_SCHEMA_DIR/org.gtk.Settings.FileChooser.gschema.xml
should exist.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
Translations are located in the following files:
po
/LANG.po
for interface translation strings- data/com.github.jeromerobert.pdfarranger.metainfo.xml for repository integration
- data/com.github.jeromerobert.pdfarranger.desktop for desktop integration
If you are not comfortable working with git, you may edit translations directly from Github's web interface. However, in the normal case you would contribute translations by following these steps:
- Download the main branch (see For developers)
- Checkout a new branch to save your changes:
git checkout -b update-translation-LANG
- Run
po/updatepo.sh LANG
, whereLANG
is the locale you'd like to update - Update your translations in
po/LANG.po
file, and commit them; do not commit changes topo/pdfarranger.pot
which may have been automatically regenerated - If possible, test your translation to see it in context (see For developers)
- Create a new pull request with your changes to the main branch
If you are editing mnemonics accelerators (letters preceded by an underscore), here are some additional guidelines. However, if you have no idea what this means, don't worry about it. Try to follow these rules by priority order:
- be consistent with other GTK/GNOME software
- pick a unique letter within that given menu if possible
- pick the same letter as the original string if available
- pick a strong letter (e.g. in "Search and replace" rather pick
s
,r
orp
thana
)