How to make a fillable PDF form
Turn any PDF into a fillable form with PDF by Zaweba: drag boxes to add text fields, check boxes, radio buttons, drop-downs and signature fields.

You can make a fillable PDF form by opening the document in PDF by Zaweba and choosing Form, then Prepare form. You then drag a box on the page for each field you want: text fields, check boxes, radio buttons, drop-downs, lists, buttons, picture, date and signature fields. Save, and the form is ready for other people to fill in.
The app is free and works offline on Windows, so the form you're building, and whatever is in it, stays on your own PC.
What you need
Start with a PDF of the form as it should look on paper. Most people design the layout in a word processor or layout program and export it as a PDF, with lines and boxes where answers go. You can also use a scanned paper form, though a clean exported file gives sharper results.
If the form already has lines of underscores, empty drawn boxes and small squares, there is a short cut. The app can find fields automatically on a paper-style form and make fields named from the words beside them. That gives you a first draft to correct, rather than a blank page.
Step by step
Open the PDF and choose Form, then Prepare form. Pick the kind of field you want and drag a box where the answer goes. A text field suits names and addresses. Check boxes suit yes or no questions. Radio buttons suit a choice of one from several. Drop-downs and lists keep answers to a fixed set, which makes the replies easier to sort later.
Date fields show a calendar when someone fills them in. Picture fields are buttons that ask for a picture when clicked, useful for a photo or a logo. A signature field gives the person a proper place to sign digitally.
Once the fields are on the page, you can select, move, resize and arrange them so they line up. If the same field appears on several pages, such as a reference number in the header, copy it onto the other pages rather than drawing it again. For tables of entries, copy a field in a grid to fill rows and columns in one go.
Getting a good result
Give each field a clear name. The names don't show on the page, but they matter when you later export the answers or merge many returned forms into one spreadsheet. A field called Postcode is far easier to work with than a field with a number for a name.
Set the tab order so that pressing Tab moves through the form in the order a person reads it. Without this, the cursor can jump around the page, which is irritating on a long form.
Open each field's properties to set its appearance and options. This is where you choose formats for numbers, currency, percentages, dates and times, add ranges, and set up totals that work themselves out. Text fields can auto-size their text, use comb boxes, or hide what is typed as a password.
Test the form before you send it. Fill it in yourself. The app tints fields so they stand out and outlines required empty ones in red, which shows you quickly whether you've missed anything. Then use Form, Clear form to empty it again before you send it out.
Sharing the finished form
Fields made in PDF by Zaweba carry standard calls that other PDF readers run too, so people can fill in your form in whatever reader they already use. When the replies come back, you can export each one's data, or gather several data files into a single spreadsheet with a row per reply.
If you'd rather people couldn't change the form's layout, protect it with a permissions password that still allows filling in forms. That keeps your design intact while leaving the fields open.