Generate a pdf file from the XLSform

For many years, I have been asked about the possibility to generate a Human Readable version of an XLSForm.
Currently, Enketo gives the possibility to print an empty questionnaire, but it does not give critical information about the skip logic.
Other tools like PPP, only prints what is in the relevant column for a question, but still is not easily "human readable".
For training purposes, we need something easier for an interviewer to understand.
As a data manager, we also need essential questionnaire data, including: question type, values associated to choices, etc.
Reducing errors, including the possibility to have translations one on top of the other, could help to check the correctness.
In worst-case scenarios, if something happens to an android device, I would like to have a printable version of the questionnaire as a backup. This will reduce project related costs.
We at Swiss TPH tried to address these requests.
Initially, we focused specifically on make the tool compatible for the WHO Verbal Autopsy instrument; however, creating a generic form that could be used for any (or many) other forms could be more beneficial.
Thanks to the support of Vital Strategies and D4H Initiative from Bloomberg Philantropies, we developed this web app, that hopefully could assist the ODK Community.
We currently host the code on GitHub, and soon I will make the repository public to users that would like to contribute, extend, or simply to run the app on their laptop or own server.

Comments and suggestions are welcome.

11 Likes

As a primary contributor of PPP the critique stings a bit but is justified xD.

I checked it out. Looks nice!

1 Like

Thanks for sharing. i've been looking for just such a tool.

1 Like

This is going to be very useful! Thank you for sharing.

1 Like

2021 Aug Updates:

  • Adds some previously missing question types and question type synonyms.
  • Adds warnings to warn the user about issues in the writing of the survey in the converted file. If there are issues with the survey or its questions the user will get a list of all warnings on the top of the page. Warnings about questions will also be displayed again on the corresponding question. Currently, the issues producing a warning are:
    -- (1) There was a "start_group" without a corresponding "end_group".
    -- (2) There was an "end_group" without a corresponding "start_group".
    -- (3) A question requires a list from the worksheet "choices", but the worksheet "choices" is missing.
    -- (4) A question requires a list from the worksheet "choices", but the list is missing.
    -- (5) A question has an invalid or unsupported type.

Test it and please give feedback if you find any bug:

XLSForm to pdf

In a couple of weeks the code will be public available on github and you could as well install it locally.

2 Likes

Thanks for sharing. i've been looking for just such a tool.

and the repository now has been made public to users that would like to contribute or run it locally or just report bugs.

XLSForm to pdf

4 Likes

Thanks @aurdipas, this is so useful! especially for protocol submissions/amendment to Ethics or review by the team.

Thanks @aurdipas for sharing, excellent job! I tested it and it works well! I was wondering how to change the language : I had a look at the source code but could not find where are defined the languages items. could you help?

2 Likes

I know I'm a bit late to the part, and a solution has already been offered, but in case this is still useful to some: I built this tool that offers more options/functionalities when converting XLSForm to PDF (something that I needed myself). All the best!

4 Likes

Welcome to the Forum!

I just tested this (perfect timing as I've just come to the forum looking for a way to visualise form work flow!) - it looks very useful and well presented.

I found that it didn't correctly identify the end of a repeat (seems to be marked by an orange line - which in my case continued to the end of the PDF, when it is actually a 'short loop' in the middle?), but otherwise this will be helpful in training new enumerators and providing a full and transparent version of the form for people to understand the intended workflow and constraints (as opposed to blindly stumbling through my forms on a device and never getting to the centre of the maze :face_with_peeking_eye:)

It is good to be able to show / hide 'background' information too.

I also like that it processes the form locally...

Thanks for sharing.

Hm, strange. I'll DM you to figure this out.

Thanks.

Issue has been solved! :slightly_smiling_face:

1 Like