Playing a powerpoint on the conference room TV without a laptop
Lugging a laptop down to the conference room
I thought I had solved our safety officer's problem a couple years ago. He had a bunch of videos he needed to show during his training classes but it was a pain to lug a machine in and set it up before each class. I set all his videos up as private videos under a youtube account, then set the TV to log into that youtube account and showed him how he could use the YouTube app on the TV to play them during his class.
I noticed he had started dragging a laptop to the conference room again recently. He was connecting it up, booting it up, logging in to it, opening the MS Powerpoint application and running a Powerpoint which doesn't change very often and then shutting it all down again. Apparently requirements had changed and he needed to also show a powerpoint with additional information. He has to run lots of folks through the course so it takes multiple scheduled times over several weeks to complete. The conference room is shared and his time slots are broken up so he can't just leave his machine hooked up either.
Can't we just play the file from the "Smart" TV?
The TV in the conference room is a Sharp LC-60N5100U which is a 60" 1080p LED Smart TV (2016 model) so I figured I'd look into ways that he could use whatever software is built into the TV to play the presentation.
This TV won't play Powerpoint files directly and I'm not sure if any do. It has built in apps to show other types of common media (Pictures, Videos, Music) including JPEG images and since Powerpoint can export slides to JPEG that should work using the "Pictures" app.
The Pictures app is simple enough to use, once it opens he can navigate to the USB drive with the arrow buttons and drill into whatever folders he needs to access the images.
I soon found, however, that the default export (at least in Office 2013) is in standard HD quality (1280 x 720) which doesn't fill the entire screen on a full HD (1920 x 1080) screen. There's a trick you can use to export in full HD. It requires editing the registry - this is dangerous, you've been warned.
Fixing the output so that its true HD (1920 x 1080)
- In regedit navigate to: HKCU | Software | Microsoft | Office | 15.0 | Powerpoint | Options
- Create New DWORD (32 bit) ->
- set as:
- Set value to:
96which is 1280 x 720 HD, 144 is full 1920 x 1080 HD)
I exported the images from Powerpoint (2013) by choosing:
- File | Export | Change File Type | JPEG | Save As
- I chose a location and hit Save
- Then I chose "All Slides"
Exported file naming is just stupid
This worked great except that the file names were stupidly generated. The default mode of export file naming names the files in the format SlideX.jpg where X starts at 1 and increments from there. On the TV Slide1.jpg was followed by Slide10.jpg, etc. At first I thought (incorrectly) that since I had less than 100 slides that I'd be able to just manually rename 9 files: Slide01.jpg ... Slide09.jpg and the TV would play them in the right order. I was wrong because apparently most TVs play files (including music files if you're using a music player app) according to their location in the file allocation table (FAT) and not according to the file name at all! Before I learned this I had already gone down the rabbit hole of figuring out a way to export the files with proper naming. While this doesn't ensure they will play in the correct order, it makes the files easier to sort and find which is important so if I do this again it will be useful.
Fixing with a visual basic module
The solution I used was posted on answers.microsoft.com by John SR Wilson on March 30, 2011
Open Powerpoint ALT+F11 to open VB editor Insert a module paste in the code:
Sub savemejpg() Dim osld As Slide On Error Resume Next MkDir Environ("USERPROFILE") & "\Desktop\jpgs\" For Each osld In ActivePresentation.Slides osld.Export Environ("USERPROFILE") & _ "\Desktop\jpgs\Slide" & Format(osld.SlideIndex, "000") & ".jpg", "JPG" Next osld End Sub
and run that module which will dump the files out to the desktop into a folder called jpgs with a filename format with three positions which will work for huge powerpoints up to 999 pages. Even though the TV doesn't care about the naming I thought that the export to disk would put them in the right FAT order.
Saving the file naming module for future use
I exported the module I created to a file from the Visual Basic editor (with the module selected): File | Export File which saves a Basic file (.bas) to disk. In future I can easily import this module into other powerpoint files by opening the VB editor (ALT+F11) and choosing File | Import File and selecting my saved module. You could just create the file manually - create a file with .bas extension with the code from above and add this as the top line (name of the module is in quotes):
Attribute VB_Name = "SaveAsImages"
Still didn't work!
I was convinced this would be enough but in my test the TV displayed these correctly named files starting with Slide39.jpg! Since I had copied these new files over to the USB into an already existing folder on the USB, for my next (and last) test I deleted that old folder on the USB, selected all (CTRL+A) the properly named files in my "jpgs" folder on my desktop (which I made sure were in the correctly sorted alphabetic order), copied them all (CTRL+C) and pasted them (CTRL+V) into a newly created folder on the USB. This did the trick and the files appeared on the TV in the right order.
So its possible that I could have skipped the file renaming step above and just re-copied and pasted the improperly named (but correctly sorted in file explorer) files to a new folder on the USB and they might have played in correct order.
Play the files over the network
Leaving the USB in the TV and manually updating it as needed is easy enough, but if you share up a folder on your machine and your TV is on the same network you could use the built in Smart TV media apps to navigate to that share as well.