{"id":268,"date":"2016-05-02T05:25:26","date_gmt":"2016-05-02T04:25:26","guid":{"rendered":"http:\/\/www.adienicholls.co.uk\/blogs\/?p=268"},"modified":"2018-02-01T00:46:49","modified_gmt":"2018-02-01T00:46:49","slug":"raspberry-pi-slideshow-ppt-pptx-odp","status":"publish","type":"post","link":"http:\/\/www.adienicholls.co.uk\/blog\/raspberry-pi-slideshow-ppt-pptx-odp\/","title":{"rendered":"Raspberry Pi Slideshow .PPT .PPTX .ODP"},"content":{"rendered":"<p>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.<\/p>\n<p>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.<\/p>\n<p>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!!<\/p>\n<h2>Why:<\/h2>\n<p>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.<\/p>\n<p><!--more--><\/p>\n<p>Note: These instructions do not cover the use of 3rd party applications, please consult the relevant program guides.<\/p>\n<p>Note: The steps below are carried out using the <span style=\"text-decoration: underline;\">Raspbian Full<\/span> image. The Raspbian &#8216;Light&#8217; version can be used but you will need to install a desktop and more.\u00a0 This will not be covered.<\/p>\n<hr \/>\n<h3>The process order for this task is:<\/h3>\n<ul>\n<li>Install \/ Upgrade Raspbian OS<\/li>\n<li>Update\u00a0 Libre Office &#8211; Impress<\/li>\n<li>Apply Raspbian custom settings<\/li>\n<li>Apply Libre Office Impress custom settings<\/li>\n<\/ul>\n<hr \/>\n<h2>The Install and the Update<\/h2>\n<p>To build an Raspbian Light &#8216;base image&#8217;, where it then can be used for projects like this, \u00a0\u00a0 <del><a href=\"http:\/\/www.adienicholls.co.uk\/blogs\/raspberry-pi-base-image\/\">see this post about Base Images <\/a><\/del><a href=\"http:\/\/www.adienicholls.co.uk\/blogs\/raspberry-pi-base-image\/\">down for now, sorry.<\/a><\/p>\n<p>If your using a previously created base image then run the commands below quickly to ensure everything is up to date:<\/p>\n<pre>sudo apt-get update<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-270 size-medium\" src=\"http:\/\/www.adienicholls.co.uk\/blog\/wp-content\/uploads\/2016\/05\/RPiSetup-2-600x169.png\" alt=\"\" width=\"600\" height=\"169\" srcset=\"http:\/\/www.adienicholls.co.uk\/blog\/wp-content\/uploads\/2016\/05\/RPiSetup-2-600x169.png 600w, http:\/\/www.adienicholls.co.uk\/blog\/wp-content\/uploads\/2016\/05\/RPiSetup-2.png 638w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/p>\n<pre>sudo apt-get dist-upgrade<\/pre>\n<p>You will be shown &#8216;Reading package lists\u2026 Done&#8217; on successfully completing the update<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-271 size-full\" src=\"http:\/\/www.adienicholls.co.uk\/blog\/wp-content\/uploads\/2016\/05\/RPiSetup-3.png\" alt=\"\" width=\"321\" height=\"34\" \/><\/p>\n<pre>sudo apt-get clean<\/pre>\n<hr \/>\n<h2><b>Update Libre Office &#8211; Impress<br \/>\n<\/b><\/h2>\n<p>Once Logged in,\u00a0 enter the following commands to update Libre Office to the latest version.<\/p>\n<pre>sudo apt-get install \u00a0libreoffice-impress<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-293 size-full\" src=\"http:\/\/www.adienicholls.co.uk\/blog\/wp-content\/uploads\/2016\/05\/RPiSetup-24.png\" alt=\"\" width=\"493\" height=\"20\" \/><\/p>\n<p>If the latest version is already installed the below output will be shown<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-294 size-medium\" src=\"http:\/\/www.adienicholls.co.uk\/blog\/wp-content\/uploads\/2016\/05\/RPiSetup-25-600x105.png\" alt=\"\" width=\"600\" height=\"105\" srcset=\"http:\/\/www.adienicholls.co.uk\/blog\/wp-content\/uploads\/2016\/05\/RPiSetup-25-600x105.png 600w, http:\/\/www.adienicholls.co.uk\/blog\/wp-content\/uploads\/2016\/05\/RPiSetup-25.png 644w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>NOTE: um, the bit above is abit jumbled, i will redo this asap, try upgrade rather then install for the apt-get above&#8230;.<\/p>\n<p>Right, that&#8217;s an OS and an application to run the slideshow with, next is to get a desktop to boot.<\/p>\n<hr \/>\n<h2><b>Automatically load file on boot<\/b><\/h2>\n<p>To run a file automatically at start-up we must place some code into the autostart file.<\/p>\n<p>&#8211;norestore\u00a0 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.<\/p>\n<p>Navigate to the autostart file located below &#8211; this can be done from Putty or locally using the console.<\/p>\n<pre>\/home\/pi\/.config\/lxsession\/LXDE-pi\/autostart<\/pre>\n<p>Insert the below line into the autostart file.<\/p>\n<p>Note: This will be the location of the presentation that will start on boot.<\/p>\n<pre>@libreoffice --show \/home\/pi\/Documents\/presentation.ppt --norestore<\/pre>\n<p>With things loading to a desktop lets set some Impress defaults to load a file and start it looping in full screen mode.<\/p>\n<hr \/>\n<h2><b>Impress Custom Macro To Enforce Global Settings<\/b><\/h2>\n<ol>\n<li>Start Impress<\/li>\n<li>Select Tools -&gt; Macros -&gt; Organise macros -&gt; LibreOffice Basic<\/li>\n<li>In the left pane, select My Macros -&gt; Standard -&gt; Module1<\/li>\n<li>In the right pane you will get: Main<\/li>\n<li>Select Edit<\/li>\n<li>You should get something like:<\/li>\n<\/ol>\n<pre>-------------------------------------------\r\nREM\u00a0 *****\u00a0 BASIC\u00a0 *****\r\n\r\nSub Main\r\n\r\nEnd Sub\r\n-------------------------------------------<\/pre>\n<p>Replace the contents with below:<\/p>\n<pre>-------------------------------------------\r\nREM\u00a0 *****\u00a0 BASIC\u00a0 *****\r\nREM Set presentation variables for all presentations\r\nSub Main\r\nDim Doc As Object\r\nDim Presentation As Object\r\nDoc = ThisComponent\r\nPresentation = Doc.Presentation\r\nREM Uncomment the line below to make all presentations loop endlessly:\r\nPresentation.IsEndless(True)\r\nREM Uncomment the line below to make all presentations run fullscreen:\r\nPresentation.IsFullScreen(True)\r\nREM Uncomment the line below to remove the 10-second delay:\r\nPresentation.Pause = 0\r\nREM Uncomment the line below to bypass the navigator on program start:\r\nPresentation.StartWithNavigator(False)\r\nREM Uncomment the line below to make sure presentations always run on top:\r\nPresentation.IsAlwaysOnTop(False)\r\nREM Uncomment the line below to change slides automatically rather than manually on all presentations:\r\nPresentation.IsAutomatic(True)\r\nREM Uncomment the line below to allow animations in all presentations:\r\nPresentation.AllowAnimations(True)\r\nREM Uncomment the line below to always hide the mouse during presentations:\r\nPresentation.IsMouseVisible(False)\r\nREM Uncomment the line below to start presentations directly on opening:\r\nPresentation.start()\r\nEnd Sub\r\n----------------------------------------------<\/pre>\n<ol>\n<li>Save the macro, close the dialog (of course you&#8217;re welcome to give the macro a somewhat more informative name than the default)<\/li>\n<li>Select Extra -&gt; Customize in the menu<\/li>\n<li>Select the tab Events<\/li>\n<li>At the bottom of the dialog it says Save In: Untitled1 (or another filename)<\/li>\n<li>Change Untitled1 into &#8216;LibreOffice&#8217; (this will save the event in the global configuration instead of the local document)<\/li>\n<li>Select the event Open Document<\/li>\n<li>Click on Macro&#8230;<\/li>\n<li>Select your library in the left pane (e.g. My Macros -&gt; Standard -&gt; Module1)<\/li>\n<li>Select &#8220;Main&#8221; in the right pane, and click OK. This will assign the macro you just created to an &#8220;Open Document&#8221; event.<\/li>\n<\/ol>\n<hr \/>\n<p>Fingers crossed I have written all this down correctly, restart the PC and away you go!!<\/p>\n<hr \/>\n<p>Note,\u00a0 I will update this soon, it seems i have missed some bits..<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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. &hellip; <a href=\"http:\/\/www.adienicholls.co.uk\/blog\/raspberry-pi-slideshow-ppt-pptx-odp\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Raspberry Pi Slideshow .PPT .PPTX .ODP<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":297,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,88],"tags":[],"_links":{"self":[{"href":"http:\/\/www.adienicholls.co.uk\/blog\/wp-json\/wp\/v2\/posts\/268"}],"collection":[{"href":"http:\/\/www.adienicholls.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.adienicholls.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.adienicholls.co.uk\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.adienicholls.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=268"}],"version-history":[{"count":12,"href":"http:\/\/www.adienicholls.co.uk\/blog\/wp-json\/wp\/v2\/posts\/268\/revisions"}],"predecessor-version":[{"id":461,"href":"http:\/\/www.adienicholls.co.uk\/blog\/wp-json\/wp\/v2\/posts\/268\/revisions\/461"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.adienicholls.co.uk\/blog\/wp-json\/wp\/v2\/media\/297"}],"wp:attachment":[{"href":"http:\/\/www.adienicholls.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=268"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.adienicholls.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=268"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.adienicholls.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=268"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}