How can I add a signature .png to a PDF in Linux?
Using Xournal you can annotate PDFs and add custom images (e.g. a transparent PNG). Although it is used for taking freehand notes and drawing, it can also annotate PDFs.
On Ubuntu:
- Install Xournal through the Ubuntu Software Center
- Open Xournal
- Select "Annotate PDF" from the File menu and select your PDF file to be signed.
- Click the "Image" button in the toolbar (it looks like a silhouette of a person).
- Click on document. A file browser dialog will open.
- Select a PNG image of your signature.
- Resize and position the image on the PDF.
- Select "Export to PDF" from the File menu.
More info at http://www.howtogeek.com/215485/sign-pdf-documents-without-printing-and-scanning-them-from-any-device/
I'm surprised to find the premier free office software for Linux mentioned nowhere on this page. LibreOffice Draw will open a PDF and allow you to insert an image. If your signature file already exists in the file system as a PNG with a transparent background, it's a snap to get it onto a page, change the size and move it into place in Draw. Draw will save the document as an ODG by default, so you'll need to export the modified document to PDF.
A lot of people recommend Xournal, but i found it to work as a version of Gimp that i can't use. Thus if you are familiar with Gimp, i would recommend trying it.
- You should have a file with the signature (even a picture taken with the phone or webcam), and a file with the document to be signed. The latter is going to be in PDF format, that can be opened by Gimp
- Apply a threshold on the signature if the white is not white enough
- Convert white to alpha in the signature if the background of the document is not white
- Open the document with Gimp
- Open the signature on top of the document as a new layer (File -> Open as layer)
- Adjust size and position
- Merge layers
- Export as PDF
I do this regularly when i need to sign single page documents, and it takes me more or less five minutes. Unfortunately this won't work if you need for example to sign every page of a multi page document. In the latter case i just print, sign, and scan again!