I wanted to create a custom physical word search for my fiance Erica, but knew I did not want to have to write the code from scratch. I ended up using a developer named Christian’s code defined in his blog post as a starting point. This code allowed my program to ingest a single word list and produce a Word Search of either a single square, a circle, or a series of five squares. What I than added was the ability to load each word list from a text file and modified the program to produce three word searches, one of each variety described before, of each word list. This allowed me to focus on just writing plain text files for desired word lists and not have to define these in Python.

One area that I struggled with was formatting the results into a file that could be easily printed. Christian’s initial code came with the ability to write its output to an .svg file. I was of the belief that it would be easier to format my results using .html and .css and then render said file as a .pdf file for printing. I was definitely wrong about this process. Writing the .html and .css wasn’t a big issue, but rather the discrepancies that would arise when I’d convert the web page to a .pdf file. I ended up going back to Christian’s original .svg file and converting those to .pdfs, which ended up being a much easier time.

Here’s are a few examples:

single square puzzle


circle puzzle


five squares puzzle


Overall, the project was a blast to work through. I’m also very happy to have learned that UPS Stores will print and bind .pdf files that you email them. Overall the book was over 100 pages and was a breeze to generate and get printed.