

The dimensions and locations of the screens and hostpots are all using production pixel values.

To keep things simple, all the IDs are static and each hotspot is a simple "click" hotspot that just uses the static screen ID as its target. First, I created a JSON payload that represented a collection of Screens and their HotSpots (JSON truncated for demo):

Once I was able to generate some test MicroSoft PowerPoint documents with POI and Lucee CFML, I set about trying to generate an interactive PPT from some sample InVision data. InputStream of class class. is not implementing InputStreamStatisticsĪs such, I reverted to POI 3.17 and that error seemed to go away. However, I couldn't get the SlideShow class to instantiate due to some sort of Stream metrics error: From there, I went to the JavaDocs for POI version 3.17 and started experimenting with the API (along with many Google searches). One of the first links that came up was for TutorialsPoint, which had a decent intro to using the POI library with PPT documents. At the time, I don't think I realized that the POI library could do more than Excel files - apparently, it can work with a number of MicroSoft document types. I haven't looked at the POI project in years but, over a decade ago, I used to use the POI library to generate MicroSoft Excel documents in ColdFusion. And, wouldn't you know it, the POI Project can generate PPT files. I started off this journey by Googling for ways to create a PowerPoint presentation in Java (which is the layer below ColdFusion).
