How To Create Fillable PDF Forms With LibreOffice Writer
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:
- PDFArranger: Merge, Split, Rotate, Crop Or Rearrange PDF Documents (PDF-Shuffler Fork)
- Easily Compress PDF Files In Linux With Densify
How to create forms in LibreOffice Writer
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:A. Create a text label (the text displayed next to a text input field) in LibreOffice Writer
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:
B. Create a text box (a text input field) in LibreOffice
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
:C. Create a list box (drop-down) in LibreOffice
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.D. Add option buttons (radio buttons) in LibreOffice
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.
E. Add a check box in LibreOffice
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.
Exporting a LibreOffice document as a PDF form
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: