updf es realmente bueno para esto. Habiendo usado la vista previa en MacOS para "firmar" documentos, updf ofrece la experiencia de usuario más cercana a esto.
Lo siguiente funciona en Ubuntu 14.10 y Debian 8.
No quería agregar un ppa de terceros a mi sistema, por lo que en su lugar puse updf ejecutándose de la siguiente manera:
$ bzr branch lp:updf
luego realizó la edición de 2 líneas como se hace referencia en la otra respuesta.
Instalar dependencias:
# apt-get install python-poppler gir1.2-gtk-3.0 gir1.2-gdkpixbuf-2.0 gir1.2-poppler-0.18 python-cairo librsvg2-2 gir1.2-rsvg-2.0 python-gi-cairo
(lo anterior fue suficiente; sin embargo, no todos los paquetes pueden ser necesarios).
y luego el programa python se puede ejecutar en el lugar:
$ ./src/updf.py
Desafortunadamente, la calidad puede verse gravemente afectada en el documento de salida en comparación con el documento de entrada. La forma correcta de hacer esto sería superponer la firma y no cambiar el original, en un proceso sin pérdidas. Mientras que updf parece participar en la re-codificación del original.