I am looking for a tool to make fillable PDF forms that will include the submission over HTTPS*.

I had started with InkScape, but its highly visual and I am concerned about managing versions or making changes which would require a lot of manual rework for each edit (e.g., adding a new row).

I know if you use XFA you can do it in an XML based way, but there is not wide support for XFA forms.

I am looking at libraries like iText and TCPDF. But there is a lot of overhead to create the forms and its mixing programming with display.

Ideally, I would like to describe the design/template of the PDF form and then have the form elements described in some type of XML/JSON, the program then merges these together (MVC style). The forms do not need to be created in real time, so a desktop only tool is okay.

Ideally, I could define a form template that says max 5 columns, field name inside of the box, default font is Times New Roman, etc. Then I can define rows and fields in a row - giving field attributes, max length, filed name, etc.

It should be possible to do this using iText or TCPDF, but that sounds like it should be reinventing the wheel.

Preference to Open Source, but would consider things upto $100 that had a demo I could try first.


*Within the PDF spec, there is the ability to create a form and have it submitted over HTTP from within the PDF directly to a sever. ie., I want to avoid email or web forms to get the data back to the serve. The target tool must be able to create the form submission parts without me having to hack it in manually or do it in another process.


3 Answers 3


Python has available Report Lab both as free packages and commercial, (and has a free trial of the commercial offering), that allows you to create just about any PDF document including forms, (better yet with the commercial system you can create forms that can be filled in as html and saved/submitted as pdf).

While the Open Source version is harder work the commercial version is outside of your budget.

  • From a quick look, RML might be a good fit, but the costing for the Commerical is high (I would be generating tens, not thousands. I am language agnostic, so anything else close to this might work.
    – HelpEric
    Commented Sep 29, 2014 at 22:25
  • pypi.python.org/pypi/w20e.forms#beyond-the-basics atually mentions generating a pdf form but does not give an example. Commented Sep 30, 2014 at 4:51

What you could look at is how to create/modify OpenOffice files (which are, as far as I understand, Bundles of XML files). Then render these modified files in the OpenOffice Forms tool, and export as PDF.

You will, however still need Acrobat for serious testing and debugging.

And you will still need to know quite a bit about PDF (to be found in ISO 32000 and/or the documentation of the Acrobat SDK).


Probably, you can use LaTeX with hyperref as described in this TeX.SE question. As LaTeX source is just text, you will be able to VCS it and use almost arbitrary level of scripting and pattern matching.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.