What is it? bookletMacro is a free, open-source automation app that solves a basic problem in music part creation. The problem: how can I go from having 8.5×11 or 9×12 (or others) part PDFs on the computer to a big stack of perfectly made booklets in my hands in as little time as possible? With this tool (and a decent printer): a few minutes.
Why I wrote this program: The problem is that making booklets requires printing on both sides with intricate page orderings, among other things. In other words, careful thinking and lots of clicking if you don’t have a system down. Now, some very big and expensive printers have software drivers and the physical mechanics (auto-duplexing with large paper sizes) to make this somewhat easy, but many of us do not have these nice toys. For one thing, they are very expensive.
I figured there must be a software solution that could combine ALL of my part files that I want to print into two highly organized PDFs. Then I could simply print the first file, go to my printer after it finished, flip and re-insert the stack into the printer, and print the other file. Done. The software creates organized booklet PDFs in seconds.
How it works: It all came together when I discovered Michael Schierl’s jPDFTweak, an open-source java-based (you need Java…) “Swiss Army Knife for PDF files.” It is a light-weight program and can be controlled purely through the command line. This is key to both speed and simplicity. Basically all I did was create a “wrapper” around Michael’s application to automate certain commands and make it user friendly for this one specific purpose. More info is available on my Github page if you’re nuts for details.
“Alright! Enough jargon, where do I download it and how do I use it?!?!” As this is a free, open-source project, I’ve hosted the project on Github. This sentence is a big fat link to the project’s Github page – DOWNLOAD HERE. Choose your relevant OS: “Mac OS X Installation” or “Windows Installation.” More is written about installation there. On to usage…
Once you install it, right-clicking on a PDF or multiple-selected PDF files will reveal this button in the context menu:
Clicking that makes this pop up. Choose which is relevant for your printer type. If you don’t know, you can experiment. In my case with the HP 5200, it prints on the up facing side but comes out down (as in upside down). This choice is important because it determines how it organizes the PDFs.
Be patient and files will appear. It may take a hot minute if you have a slow computer and you’re printing the parts to Turangalîla, but they will appear!
Now, your outputed files may look slightly different depending on which option you chose, but regardless, you will always be left with 1-somethingsomething.pdf and 2-somethingsomething.pdf. Congrats! You’re done.
Cancel your appointment to the wrist therapist; you’re almost done clicking.
The only thing left to do is to actually print them. Now I’m not going to launch into a whole exegesis on how to print a PDF, but in short, load up 1-somethingsomething.pdf and make sure the correct printer is selected with the correct Paper Size (in Page Setup if you are using Adobe Reader). bookletMacro automatically doubles the page size width (8.5×11 becomes 11×17, for example). So be sure choose the correct size. Click print. After that’s finished, go to the printer and re-insert the paper into the printer so it will print the other side correctly; doing this step correctly is crucial. Then, go back to the computer and print 2-somethingsomething.pdf. (If you accidentally print it backwards… now you know.) Now all you need to do is fold.
In case you’d like to absorb the details more visually… I’ve created a video detailing the process.
A quick note on printers… Of course, to even think about printing booklets, you need a printer that can handle sizes like 11×17 or 12×18 (A3, etc). I have an HP 5200dtn. Other HP models (5000, 5100) are commonly used for printing music because they are simple, powerful, and fast. But even some cheap inkjets can handle these large sizes.
Final notes… Here’s a confession. I’m not a professional software developer or a professional engraver for that matter, but I felt like this was a common problem amongst the community and I wanted to solve it. I personally use it regularly. I think it works pretty darn good.
Having said that, I’ve tested this on my own setup, but I welcome your feedback. Please make a Github issue, comment here, or email me so we can figure it out together and make this thing even better. Cheers folks.