A tool to sign PDF files, with Linux support. We are here referring to the visible, non-cryptographic squiggles.
First, create one or several signatures in the form of small PDF files with transparent backgrounds. The recommended way is:
- Use the included
pdf-create-empty
tool to create an empty, transparent PDF file. If 3×2 inch suits you, you can use empty-3inx2in.pdf directly. - Use an application of your choice to sign it. You can for example use Okular's Freehand Line, or transfer it to your smartphone and use Adobe Acrobat Reader. Keep in mind that it's the center of this mini-page that will be used for positioning the signature.
- Put the signed file in your signature directory.
The signature directory is
$PDF_SIGNATURE_DIR
,$XDG_CONFIG_HOME/pdf_signatures
,$HOME/.config/pdf_signatures
or$HOME/.pdf_signatures/
; the first one that exists. Usepdf-sign -h
to confirm which one will be used on your system.
You can now use the pdf-sign
tool interactively (or non-interactively) to sign PDF files.
The GUI is self documented and allows both keyboard-only and pointer-only operation.
Run pdf-sign -h
, pdf-create-empty -h
or pdf-from-text -h
for details.
Installation
- Install dependencies
python3.7
or later- Python module
tkinter
(only needed for interactive use) gs
(Ghostscript)qpdf
orpdftk
(at least one of them)pdfinfo
- Copy one or both tools to a directory in your
$PATH
.
Installation on Debian
apt-get update
apt-get install -y coreutils git python3 python3-tk ghostscript pdftk poppler-utils
git clone https://github.com/svenssonaxel/pdf-sign.git
cd pdf-sign
cp pdf-sign pdf-create-empty pdf-from-text /usr/local/bin/
- You can add the date or other pieces of text using the
--text
CLI option orSignature -> Custom text
menu option. - You can convert SVG stamps/marks and add them to your signature directory. Example:
curl -LO https://www.svgrepo.com/download/438371/checkmark-round.svg sudo apt-get install librsvg2-bin rsvg-convert -f pdf -o ~/.pdf_signatures/check.pdf checkmark-round.svg
There appears to be a lack of applications that run on Linux and allow for attaching free-hand signatures to PDF files in a good way.
(Non-)alternatives include:
- Xournal and Xournal++: Allows free-hand annotations, but not saving those for later use. Allows inserting images and .pdf files but will rasterize them rather than retain the vector graphics, resulting in lower quality.
- LibreOffice Draw: Allows inserting images and .pdf files but will rasterize them rather than retain the vector graphics, resulting in lower quality.
- Okular: Allows free-hand annotations, but not saving those for later use. Allows inserting custom saved stamps, but will rasterize them rather than retain the vector graphics, resulting in lower quality. (Older versions of Okular might save the stamps in a way that isn't visible in other PDF readers.)
- Evince: Allows certain kinds of annotations, but nothing that can look like a free-hand signature.
- pdftk, ghostscript, and other command-line tools: Allows superimposing .pdf files, but not interactively selecting where.