It’s trade show season… at least it is here at Datalogics and trade shows mean presentations. I was recently tasked with creating a couple of presentations for us to show at our booths. These presentations were high on graphics and low on text so I needed to add some pretty extensive notes so that the presenters would understand what each slide was intended to illustrate. I do prefer to use Keynote when I’m presenting, but when I’m creating presentations that will be distributed, I tend to use Microsoft PowerPoint. I use PowerPoint for one reason and one reason only, when converting to PDF using the Adobe PDFMaker add-in, my notes get converted to PDF annotations and I don’t need to clutter up my slides with extensive amounts of text. During the PDF creation process, the PDFMaker add-in creates the slides, crops them down to the right size, and then adds the text of the Notes to the PDF as an annotation on a separate layer so they can be turned on and off. It’s a pretty cool feature and I’ve been distributing my presentations in this way for at least a decade with no issues.
After Java One and Ignite, our Marketing department wanted to send the booth presentations to all of the people who’d stopped by our booth. No problem. The slide notes were created with our booth staff in mind so I spent a few hours editing them in PowerPoint so that they were a bit more comprehensive and customer facing. Then I converted them to PDF and sent them to our marketing folks. Everything looked great… in Adobe Reader.
Then one of them loaded the PDF into our marketing and sales platform… that pretty much put an end to my exquisitely descriptive notes. Google Chrome is her default browser so that’s what loaded the PDF when she clicked on the link. My notes were… well… gone. To be more precise, they weren’t showing up. She then sent the link to a coworker trying to understand what was happening. His default browser is Safari on macOS. He did see the notes but they were hard to read because the text was black on a navy background… not exactly the best user experience.
Here’s what the notes look like in a few browsers and applications.
The problem is that desktop PDF viewing applications, hosted PDF viewing applications, and web browsers with native PDF support all treat comments in a PDF file differently. I spent a lot of time writing those notes and the thought of copy/pasting them into something else was horrifying… especially when I knew I’d need to edit the notes eventually and that I’d be creating a lot of additional presentations that would all have the same problem. The only way to guarantee that the PDF will display with the notes so all PDF viewers can display them is to make the notes part of the normal page content. I needed to find a way to easily produce a PDF file…
- from PowerPoint
- with notes
- that behaves consistently across various PDF viewers and web browsers.
The most obvious solution was just to print the Slide Note Pages from PowerPoint so you’d see the slide with the notes just below on a standard page… but there were three problems with that. The first is that the slide itself gets bitmapped and the type gets jagged and ugly looking. The second is that the layout of the Notes pages is ugly. The third is that the layout of the Notes pages is U-G-L-Y!… really, really, ugly.
After trying a few different ways of solving the problem manually and realizing the horror of doing that for every presentation I create, I decided to write an application that could modify the standard PDF file output by Acrobat from PowerPoint and reformat it into the layout I wanted but with the slide notes as part of the page. Because I have access to the Datalogics PDF Java Toolkit, this task was pretty easy. Using the Datalogics PDF Java Toolkit, I was able to resize the page making it wider to accommodate a column of text on the right. Then I added a few filled boxes to the newly added page area to make it more graphically appealing, then I simply grabbed the text out of the annotation on each page, deleted the annotation and used the content to set the value of a text field that I also added to the page. Finally, I flattened all the new text fields to turn them into page content.
The result is this PDF.
Now I simply create my PDF from PowerPoint as normal and run it through my application. It’s super easy and I can be sure that my presentations behave consistently no matter where or how they’re viewed.