LibreOffice Writer can be used to create fillable PDF forms, being a great free, open source alternative to Adobe's Acrobat for this use case. LibreOffice is cross-platform too, so you can use it not only on Windows and macOS, but also on Linux.
PDF files may contain editable form fields that can be filled / edited and saved by the user. Thanks to this, documents may be filled using a keyboard, instead of having to print a document, fill it with a pen, and scan the document to be able to send it online.
This article explains how to use LibreOffice Writer to create a PDF with fillable forms (interactive forms), with instructions for creating a few common form elements, like adding a text input field, list box (drop-down), option buttons (radio buttons), and a check box, and exporting the document as a PDF form.
I have used LibreOffice version 6.1 on Linux to take the screenshots for this tutorial, but the instructions should be the same with other versions or operating systems, thought the icons or the LibreOffice toolbar may be different depending on the version and operating system you're using.
PDF-related:
Start by launching LibreOffice Writer, which should open with a new blank document. To be able to add forms to the new LibreOffice Writer document, from its menu choose View > Toolbars > Form Controls , and View > Toolbars > Form Design .
Now that the Form Design toolbar is displayed (at the bottom of LibreOffice Writer by default), click both the Display Grid and Snap to Grid buttons so they are enabled, this allowing you to easily align the form controls later:
It's now time to insert some form controls into our new document. From the LibreOffice Form Controls toolbar click Label , and draw the label in your document by clicking and holding down the mouse left button:
Double click the label you just added, and enter a name and a label. The label field is what is displayed as text in your document:
From the Form Controls toolbar click on the Text Box , and draw a text box (by clicking and holding down the mouse left button) to the right of of a text label (see how to create a text label above):
Double click the Text Box, enter a name for it, and for the label field click the three dots button to the right, and assign it the label that was created to the left of it, then click OK :
Start by creating a text label, like in step A. Then click on List Box from the Form Controls toolbar, and draw the text box to the right of the label:
Double click the List Box you added to the document, enter a name, and for the label field click the three dots button, and assign it the label that you've added to the left of the list box:
Don't close the List Box properties window just yet. To add a list of options to the List Box (drop-down), scroll down in the List Box properties window, and add the entries in the List entries field.
If you have a list of entries in a text editor, which each entry on a separate line, you can copy that and paste it here directly, then press enter and it will add the entries automatically. Or you can add each list entry manually, by typing one entry, then pressing Shift + Enter to add a new one, and so on:
To test your new list box, exit design mode by clicking the Design Mode button on the Form Controls toolbar:
And try out the list box (drop-down):
Remember to click the Design Mode button again, to enter design mode so you can add new form elements later on.
You may also want to add some radio buttons, called option buttons in LibreOffice. From the LibreOffice Form Controls toolbar, press the Option Button icon, and draw it where you want to place it in your LibreOffice document. Add as many option buttons as you like:
Double click each option button, and change its label to the text you want to appear in the document next to each option button. For the Name and Group name fields, make sure you enter the same value for each option button in the same group:
By doing this, the option buttons group doesn't interfere with other such buttons, in case you want to add multiple groups of option buttons.
From the LibreOffice Form Controls toolbar, press the Check Box button and draw it in your document by clicking and holding down the mouse left button:
In case of check boxes, there's no need to create a separate label, since a text label is displayed next to the check box by default.
Double click the Check Box, and enter a name and a label for it:
The label you enter in this properties window is displayed to the right of the check box in your document.
Now that you've created a document containing interactive, fillable forms in LibreOffice Writer, it's time to export it as a PDF form.
From the LibreOffice menu select File -> Export As -> Export as PDF. . Make sure that the Create PDF form is enabled, and Submit format is set to PDF:
If you can't enable the Create PDF form check box, the Archive PDF/A-1a option may be enabled, so disable that option and you should be able to enable the Create PDF form option.
When trying out the PDF, make sure it's not read-only.
You should be able to fill out the PDF form with software like the default Gnome Document Viewer (Evince) or Okular (the document viewer developed by KDE) on Linux, Adobe Acrobat Reader on Windows, Preview on Mac, or by using an online PDF form filler that works on any operating system, like PDFescape.
This is a fillable PDF form I created using LibreOffice Writer, with the forms filed using Evince (Gnome's Document Viewer) and Okular (KDE's Document Viewer) - screenshots taken in Ubuntu 18.10 and Kubuntu 18.04:
If you want to download the example used in these two screenshots (either the source ODT or the exported PDF document), you can do so by clicking on the links below: