On occasion I receive forms to fill in as PDFs intended for printing (these are not true PDF forms, they do not contain fields). I would like to type onto them, and perhaps add a scanned copy of my signature. This way I could just email them back. Is this possible?
11 Answers
There is no perfect way to do this yet. The best existing way is to install Xournal from the software center and open PDF files with it. It allows you to annotate them and then export the whole thing as a new PDF.
Since you are basically marking up a new layer on top of the original PDF, you have to line up everything as you type, and manually position all your notes. For a simple document it's pretty easy to do. It's not very practical for longer documents, though.
-
1How did you intend the signature to be placed? For me, Xournal's paste function did not paste a signature copied from Gimp. There does not seem to be any "import image" feature, either.– H2ONaClOct 7, 2012 at 7:37
-
@broiyan Two options, scribble it in with the mouse in Xournal, or do like cipricus's answer and import it into LibreOffice (or Gimp) and add it that way, then re-export as a PDF from either program. I have a transparent GIF I use for this as it works best with different coloured backgrounds. Oct 7, 2012 at 11:35
-
2At least as of version 0.4.8, Xournal makes it super easy to annotate an existing PDF with an image of a signature. Nov 11, 2014 at 5:18
-
With version 0.4.7 which comes with Ubuntu 14.04 LTS you can also add images. Just copy, for example, from GIMP and paste in Xournal.– ChrikiApr 28, 2016 at 8:00
-
Xournal is the glitchiest software I've used since Kdenlive. However, Xournal got the job done; it just required a lot of patience. May 15, 2016 at 19:01
Open the pdf in LibreOffice Draw and copy/paste there any image, including that of a signature (or Insert -Picture - From File), which then can be easily adjusted/resized to fit the purpose. After that, under File - 'Export as PDF'
-
2I've got a blog post on the full write-up of how to do this: colans.net/blog/signing-document-image-ubuntu-1210– colanMar 26, 2013 at 16:16
-
10Fwiw, LibreOffice Draw 5.0.5.2 did not render my PDF properly (text was being rendered too big), so this answer didn't work for me. May 13, 2016 at 21:24
-
@thejoshwolfe - in many cases the above answer may work; no one expected it to work for all pdf files, they can be very different in complexity and structure; you should post a separate question with more details on your specific file to get a separate more specific answer; also maybe editing the pdf before importing in LO is a way to go too– user47206May 15, 2016 at 16:11
-
@thejoshwolfe I highly recommend trying out Scribus instead of LibreOffice Draw. I had the same issue where LibreOffice was mangling the imported PDF so that it did not look like the original anymore. I tried importing the original into Scribus and it worked perfectly.– wheelerJan 13, 2021 at 17:30
-
1
I tried a number of the methods/softwares mentioned above, and just wanted to share my experiences.
(I have inlcuded some comments on the possibility of adding lines, rectangles and shapes, although the original question did not request this.)
LibrOffice Draw
Could have been the ideal solution. Has all the drawing tools etc. and supports text and inserting images. Imports multi-page PDFs fine. However, many of my PDFs will get corrupted when imported; fonts seem to be changed wich leads to placement/spacing problems (all fonts were embedded in the PDFs). I've tried both version 4 and 5, and installing package libreoffice-pdfimport
didn't help.
Xournal
Free and open source. Imports multi-page PDFs fine. Has tools pen, highlighter, text, insert image. (No rectangles or other shapes.)
Master PDF Editor
Proprietary, Paid. Good for editing text, creating/filling in forms, inserting images. Also support lines and rectangles - with custom line widths, colors and fills.
PDF-XChange Editor
Formerly called PDF-XChange Viewer. Commercial product, with a free version with basic functionality. It's a Windows program but it works well with wine
.
Very similar to Master PDF Editor (see above).
Gimp
Good option in some limited circumstances. Will rasterize everything that isn't rasterized, and of course you'll get individual images for individual pages, so a page merge is needed later on.
See http://colans.net/blog/signing-document-image-ubuntu-1210 for some suggestions on signing PDF forms with gimp
.
dochub.com
Online editing/annotaion of PDFs. Supports text annotations, but not lines and rectangles. Almost all the pdfs I've tried were however corrupted when imported.
Scribus
Free and open-source desktop publishing software.
Most of the PDFs I tried were corrupted when imported (much worse than LibrOffice Draw import) - fonts are changed or placement of characters is wrong.
-
1
Here's a 2014 answer to this 2011 question, if you have a google account you can use a free web-based tool to do this job easily:
Sejda PDF provides a PDF Editor that allows you to add signatures, images, text and edit existing text in PDF Files.
You can edit PDF files online or use the desktop pdf editor.
https://www.sejda.com/pdf-editor
You can edit online 3 docs/hour for free. Open source PDF engine, I'm one of the developers.
-
2Looks nice, but I can't find the link to the source code anywhere on the linked websites. Is it really powered by free software?– ApteryxApr 24, 2022 at 0:57
Acrobat Fill & Sign
If you just want to add text or signatures to PDF files (even files that are not forms), the easiest solution may be Adobe's free Fill & Sign web service.
It feels a bit hidden, either because of feature bloat or they've actively hidden it in an attempt to direct you to paying features, but this seems to work for me:
- Go to https://documentcloud.adobe.com and sign in
- Upload a PDF file
- Click the 3 dots to the right of the file > Fill & Sign
- Once you're done, click Close, which should take you back to the list of files. Then click the 3 dots to the right of the file > Download
Master PDF Editor
If you want a full-fledged PDF editor, Master PDF Editor has a native Linux port. Current versions are demo versions that will add a watermark, however previously it was free for non-commercial use. Binaries for the last free version are still available to download:
- Qt5 version (64-bit deb): http://code-industry.net/public/master-pdf-editor-4.3.89_qt5.amd64.deb
- Qt5 version (64-bit .tar.gz): http://code-industry.net/public/master-pdf-editor-4.3.89_qt5.amd64.tar.gz
- Qt4 version (64-bit .tar.gz): https://code-industry.net/public/master-pdf-editor-4.3.89_qt4.amd64.tar.gz
- Qt4 version (32-bit deb): https://code-industry.net/public/master-pdf-editor-4.3.89_i386.deb
The binaries were removed at one point but seem to be available again. Here are the checksums in case the downloads are removed again:
$ md5sum master-pdf-editor-4.3.89_*
0b6ed4fdff2f4d16ff0a9127d2601547 master-pdf-editor-4.3.89_i386.deb
5e91230954e995083f50d773ce016437 master-pdf-editor-4.3.89_qt4.amd64.tar.gz
183ad38306fe2637006d23307f69f2a5 master-pdf-editor-4.3.89_qt5.amd64.deb
51a6f2963b79ebf0125faa9285f5456c master-pdf-editor-4.3.89_qt5.amd64.tar.gz
$ sha1sum master-pdf-editor-4.3.89_*
63665acf09222614a3ecf5789e0cca08c33b925c master-pdf-editor-4.3.89_i386.deb
34e690519025ffe31c2336d21b4fe93bd40e6dad master-pdf-editor-4.3.89_qt4.amd64.tar.gz
8194648cf7938ad9a0564db33ebf4c228b1557ea master-pdf-editor-4.3.89_qt5.amd64.deb
254e05e0845ff73b7c932280c2bbe8d22aa4934c master-pdf-editor-4.3.89_qt5.amd64.tar.gz
PDFedit
PDFedit is an open-source PDF editor that has been unmaintained for nearly a decade. As such, I don't really recommend it, but it's good to have options :)
The last available package was for Ubuntu 12.04 and the packages no longer work in modern versions of Ubuntu. However, it has been packaged for Flatpak and so that's probably the easiest way to run it: https://flathub.org/apps/net.sourceforge.Pdfedit
As an alternative, I was able to create a container image and run it in a container:
Install x11docker
Run PDFEdit, e.g
x11docker --share "$PWD" ghcr.io/bmaupin/pdfedit
ⓘ
--share "$PWD"
will share your current directory with PDFEdit so you can see files from your PC
You can find more information and the Dockerfile used to build the image here: Run PDFEdit in Docker
I've had a reasonably good experience with uPdf.
Installation
sudo add-apt-repository ppa:atareao/updf
sudo apt-get update
sudo apt-get install -y updf
Then fix a bug by editing 2 lines in a Python script.
Usage
Launch uPdf, select the Add an image tool, draw a rectangle around the area where you want the signature to go and select the image file with your signature. A PNG with a transparent background works best.
See also How can I edit a picture into an existing PDF file?
You can easily copy and paste part of a pdf document using PDF-XChange Viewer (running flowlessly with wine). (Google it you will see a lot of ubuntu users love it, it is very useful to annotate pdf documents.)
You select the signature (a rectangle around it) from another document, copy it and paste it where you want on the new document...
The sample C# code listed in following example can be used to add an image to PDFdocument file. you can easily insert an image into any desired PDF page with accurate location.:
public static string FolderName = "c:/";
private void button1_Click(object sender, EventArgs e) {
string fileName = FolderName + "Sample.pdf";
REDocument doc = REFile.OpenDocumentFile(fileName, new PDFDecoder()); //use PDFDecoder open a pdf file
REPage rePage = (REPage) doc.GetPage(0);
int width = 100;
int height = 60;
/// data[]: a byte array to contain color data (as same format as Image Data PixelArray in BMP file)
/// caller must provide correct color data; otherwise, unpredictable error may happen
byte[] data = new byte[width * height * 3];
// set bottom 20 lines to red
for (int rowIdx = 0; rowIdx < 20; rowIdx++) {
for (int i = 0; i < width; i++) data[width * rowIdx * 3 + i * 3 + 2] = 0xFF;
}
// set top 10 lines to blue
for (int rowIdx = 0; rowIdx < 10; rowIdx++) {
for (int i = 0; i < width; i++) data[width * (height - 1 - rowIdx) * 3 + i * 3] = 0xFF;
}
REImage reImage = new REImage(width, height, ImageMode.RGB888, data);
REFile.SaveDocumentFile(doc, "c:/reimage.pdf", new PDFEncoder());
}
Another option is Scribus. I've used it to do the same task you're asking for (pasting an image of a signature).
As Tom Brossman said there is no perfect way to do that, and Scribus is the case. It has to import the file from the pdf format to the native one, and depending on the document it can get the text scrambled or the layers showed differently.
-
Seems like you have to import pages individually as images, and they will be rasterized. Ref.: forums.scribus.net/index.php?topic=515.0– CarlJan 7, 2016 at 18:20
I think the easiest way is to create your signature - images, text, etc - as a new one page PDF. Then when you download the pdf from the internet, you can just append your signature pdf at the end.
You can use a lot of apps to do that but my fav is pdf-shuffler which you can easily install from the software center or the terminal using:
sudo apt-get install pdfshuffler