Raspberry Pi Slideshow .PPT .PPTX .ODP

The information below will help you to setup a Raspberry Pi with Raspbian OS that will play a slideshow/PowerPoint presentation using a PPT/PPTX or ODP file.

The system will be setup to automatically login to a desktop, load Libre Office Impress (PowerPoint alternative) and run a slide show presentation with custom slide show settings defined.

Please note, MS Powerpoint slideshows might not display 100% correctly in Libre, you can save from MS PP to an open format or to ensure an output as expected, just grab Libre office for PC or Mac, it is Free after all!!

Why:

Instead of using a costly full blown MS Windows desktop PC we can use a Raspberry Pi that not only costs hundreds of pounds less to buy but also consumes a minor percentage of power that a full desktop uses as well as being small enough to attach to the rear of the display device.

Note: These instructions do not cover the use of 3rd party applications, please consult the relevant program guides.

Note: The steps below are carried out using the Raspbian Full image. The Raspbian ‘Light’ version can be used but you will need to install a desktop and more.  This will not be covered.


The process order for this task is:

  • Install / Upgrade Raspbian OS
  • Update  Libre Office – Impress
  • Apply Raspbian custom settings
  • Apply Libre Office Impress custom settings

The Install and the Update

To build an Raspbian Light ‘base image’, where it then can be used for projects like this,    see this post about Base Images down for now, sorry.

If your using a previously created base imae then run the commands below quickly to ensure everything is up to date:

sudo apt-get update

sudo apt-get dist-upgrade

You will be shown ‘Reading package lists… Done’ on successfully completing the update

sudo apt-get clean

Update Libre Office – Impress

Once Logged in,  enter the following commands to update Libre office to the latest version.

sudo apt-get install  libreoffice-impress

If the latest version is already installed the below output will be shown

NOTE: um, the bit above is abit jumbled, i will redo this asap, try upgrde rather then install for the apt-get above….

Right, that’s an OS and an application to run the slideshow with, next is to get a desktop to boot.


Automatically load file on boot

To run a file automatically at start-up we must place some code into the autostart file.

–norestore  is required in the event of an unsafe shutdown, Libre Office will try and restore the file when its next loaded, this process required user interaction.

Navigate to the autostart file located below – this can be done from Putty or locally using the console.

/home/pi/.config/lxsession/LXDE-pi/autostart

Insert the below line into the autostart file.

Note: This will be the location of the presentation that will start on boot.

@libreoffice --show /home/pi/Documents/presentation.ppt --norestore

With things loading to a desktop lets set some Impress defaults to load a file and start it looping in full screen mode.


Impress Custom Macro To Enforce Global Settings

  1. Start Impress
  2. Select Tools -> Macros -> Organise macros -> LibreOffice Basic
  3. In the left pane, select My Macros -> Standard -> Module1
  4. In the right pane you will get: Main
  5. Select Edit
  6. You should get something like:
-------------------------------------------
REM  *****  BASIC  *****

Sub Main

End Sub
-------------------------------------------

Replace the contents with below:

-------------------------------------------
REM  *****  BASIC  *****
REM Set presentation variables for all presentations
Sub Main
Dim Doc As Object
Dim Presentation As Object
Doc = ThisComponent
Presentation = Doc.Presentation
REM Uncomment the line below to make all presentations loop endlessly:
Presentation.IsEndless(True)
REM Uncomment the line below to make all presentations run fullscreen:
Presentation.IsFullScreen(True)
REM Uncomment the line below to remove the 10-second delay:
Presentation.Pause = 0
REM Uncomment the line below to bypass the navigator on program start:
Presentation.StartWithNavigator(False)
REM Uncomment the line below to make sure presentations always run on top:
Presentation.IsAlwaysOnTop(False)
REM Uncomment the line below to change slides automatically rather than manually on all presentations:
Presentation.IsAutomatic(True)
REM Uncomment the line below to allow animations in all presentations:
Presentation.AllowAnimations(True)
REM Uncomment the line below to always hide the mouse during presentations:
Presentation.IsMouseVisible(False)
REM Uncomment the line below to start presentations directly on opening:
Presentation.start()
End Sub
----------------------------------------------
  1. Save the macro, close the dialog (of course you’re welcome to give the macro a somewhat more informative name than the default)
  2. Select Extra -> Customize in the menu
  3. Select the tab Events
  4. At the bottom of the dialog it says Save In: Untitled1 (or another filename)
  5. Change Untitled1 into ‘LibreOffice’ (this will save the event in the global configuration instead of the local document)
  6. Select the event Open Document
  7. Click on Macro…
  8. Select your library in the left pane (e.g. My Macros -> Standard -> Module1)
  9. Select “Main” in the right pane, and click OK. This will assign the macro you just created to an “Open Document” event.

Fingers crossed I have written all this down correctly, restart the PC and away you go!!


Note,  I will update this soon, it seems i have missed some bits..

7 thoughts on “Raspberry Pi Slideshow .PPT .PPTX .ODP”

  1. Thanks for sharing this great system.
    How can I force Impress to use 16/9 as a format at boot?
    Can I do it in a Macro?
    I’m using a 16/9 powerpoint file, on Impress the format is slitly wrong.
    If I manually set the slideshow in Impress to 16/9 it is correct.

    The system should work as stand alone, so a macro would be great.

    Grts

  2. hey great post it really helped me out!
    Any Clue how to do this with 2 slideshows and make 1 load on virtual desktop 1 and virtual desktop2?
    Any ideas or help would be greatly appreciated

  3. thank you for the very useful post…saved a bunch of research and I really appreciate it!

    FYI there are a few broken image links and the url to see this post to rpi base images is as well. Looks like they all have blogs (plural) rather than blog (singular) in the url and when changed they all work.
    thanks again–M.

  4. Thanks for letting my know, I will update things as it appears it has been of some use to a couple of people rather then just a reminder to myself…

  5. To ensure the RPi output is correctly setup (to ensure continuity) checkout this page:

  6. https://www.raspberrypi.org/documentation/configuration/config-txt.md
  7. I think you could find some screen options in the impress config settings.

    a workaround might be to download impress for pc/mac, load the file, make 16/9 adjustment and then save, the settings maybe in the file itself but impress isn’t converting the PPT file as expected.

    If you find out, let us know! 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *