Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
By nathanraft on
Has anyone come across a way to enable uploading powerpoints into drupal?
I would like to do something like this http://www.slideshare.net/bohemicus/drupal-goes-to-college/. I do know that there are two presentation modules but as most people simply make their presentations in powerpoint, uploading without any necessary modification would be great!
If anyone has done this or has a great approach in mind I would love to hear it and potentially sponsor it.
Comments
JODC
Hello,
The great thing about slideshare is that it converts ppt/pps/odp/pdf into swf so that they can be viewed in a webpage.
This is something that would need to be done on the server side. In my experience, the Java OpenDocument Converter is the best thing for doing this - http://www.artofsolving.com/opensource/jodconverter (their site runs on Drupal).
Let me know if you need any help setting this up.
Rgds,
Ben
That's what we are looking for
Hi Ben,
Thanks for your reply.
This sounds like this is what we want. We want the users to be able to upload the ppt, view the small flash version, and then view the full screen version to give the presentation with the ability to go back and forth between slides.
Most of the pages we would use this with are built using CCK. So we would want this to plug-in nicely as a new element type or something like that.
Does this sound ? What if any limitations do you see on either the module features or the conversion of the PPT?
Thanks!
OO unable to convert the image slide in the ppt to swf...
I have found problems when trying to convert a ppt to swf....and then I found there is a bug in OpenOffice 2.3
http://www.oooforum.org/forum/viewtopic.phtml?p=262664
Cheers,
Manuel Perez
OO convertion working
Hi All,
I needed to install version 2.0.3 (I was trying with 2.2.1-10 and 2.3.0 is known to have the same issue which will be fixed in 2.3.1)
I couldn't get version 2.0.3 from http://download.openoffice.org/2.0.3/index-nojs.html , so I found it in http://downloads.translate.org.za/dev/openoffice/ (deb and rpm)
To start soffice as a service I needed to install xvfb because soffice didn't wanted to start without connecting to a X server (xvfb stands for X virtual framebuffer solving this problem without actually installing an X server). The following commands worked for me:
Xvfb :5 -screen 0 800x600x16
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard -display :5
After that I started jodconverter as a webservice and executed the sample php code provided in http://www.artofsolving.com/node/15 and it worked fine.
The problem that I find now is the fact that the generated swf is lacking any buttons to go back and foward; all you can do is click on the slide to make it go forward. Could anybody make any suggestion on how to solve that? Maybe there is some kind of template system in soffice allowing to add controls to the produced swf (??). I installed OpenOffice on a Windows XP and found that it's possible to export a PPT to HTML and to use and template in the process; maybe it's the same for swf exportation but I don't know how.
Cheers,
Manuel Perez
Why not simply using the
Why not simply using the Slideshare.net API and let your visitors upload to Slideshare and then embed the flash-converted slide?
The Slideshare API is similar to the Youtube API. It allows authentication, upload and embedding.
See my posting which develops the idea further:
http://drupal.org/node/242215
I can't make a lot of the
I can't make a lot of the presentations available to others so I ended up going with a local solution for now. Ispring (http://www.ispringsolutions.com/). This is a PPT plugin and it works really well. I just wish I had more control over the player options.
iPaper for docs!
I had the same need for uploading and displaying powerpoints (or pdf,doc,odt..) or let the users upload and immediately view the ppt online without having to download it.I had used iPaper from scribd.comAnd i feel its better than slideshare in ways.Chk out http://www.scribd.com/ipaper#check_out.
Now there is a module too called iPaper http://drupal.org/project/ipaper .But you can do it in fewer steps yourself .And also the iPaper module seems to create a new content type called iPaper for documents while you can use the manual mehtod to enable iPaper to all content types or chosen content types.
If you want to use iPaper...
1.Go to scribd.com/platform and sign up
2.go to documentation and click Quick switch(http://www.scribd.com/platform/documentation/quickswitch)
3.Choose your options
I choose Embedded iPapers directly on page.
and both options unde 'More options'
i.Retain link to original document option will place a link to the file for the user to download it if they wish to.
ii.Keep documents private (don't show on Scribd.com).Activate it if you wish to display the docs only through your website
4.Copy the code generated
5.return to your website admin account and under Blocks add a new block
Name it as you wish and add the copied code to content.(You may disable any wyswig editor on the page)
6.select Input format as PHP code (YOu may Try if it works on other 2 formats later)
7.Publishing options -Display on all pages
8.Return to blocks and place the new block in content.
9.And now you are ready to go!Upload the ppt or doc and you will see it in iPaper window embedded on the page.
Many people wuld like to know how this worked out for you.If you can leave a reply it would be great.
"Give me a place to stand and I shall move the Earth"
-archimedes
"Give me a place to stand and I shall move the Earth"
Pretty slick! As it displays
Pretty slick!
As it displays the document at the uploaded docs list spot it needs some theming in a content type specific tpl to make it userfriendly but as a proof of concept this is pretty slick indeed. Thanks for the walkthrough. Did you try the option for "Custom page with embedded iPaper hosted on your site" ?
Looks like the engine needs work for PPT's though...animations don't seem to work. Check out http://www.ispringsolutions.com/ and try the free version to see how animation and embedded videos look for PPT.
iPaper module is goood!
Try out the module(http://drupal.org/project/ipaper ).
.It has more options than the doing it ourselves that i had explined above.(like automatic display of the docs as thumbnails etc).Scribd Ipaper can be used for .ppt,.doc,.odt, and many more.Yes it removes the animations(effects) in ppt.But in one way i think it helps to reduce file size and reduce time for viewing the pages.
"Give me a place to stand and I shall move the Earth"
-Archimedes
ispring works great.the free
ispring works great.the free version shows an ispring logo on it(just like scribd logo on ipaper)
Is there a free software available to convert powerpoints to flash?
"Give me a place to stand and I shall move the Earth"
-Archimedes
Can try Open office
I think that open office does this but from what I remember it does not do a very good job on animation. I searched around a bit and ispring is all I found that was really good. I would like at some point to automate this using an api like what ispring has but I would guess that it is pretty expensive (never got a price quote). Wouldn't be a bad idea to contact them and see if they will create a drupal mod that integrates with a service.
Both iSpring and iPaper
... Can also use iSpring and iPaper together if needed.
How to do this ?
install flashnode module ..creates a new content type called 'Flash'
download iSpring from their site
Convert a ppt file to flash (.swf) manually using iSpring
Upload it as Flash to your site
Creat a content type called Powerpoint
Creat new powerpoint post by attaching the same file in ppt format to it and in the 'body' add [flashnode|nid= |scale=o.5] to embed the flashnode using flashnode's embed function.
Create a new 'Block' with quickswitch code
'to show on custom page in my website' and
'show document link' and
add viewer.html to the drupal root directory.
So now the iSpring window will appear with 2 links below it -one which will open iPaper on viewer.html page and other (if 'show document link' was selected) for download of ppt.
Also cretaed a new block visible on user uploaded ppts pages with Quickswitch 'Embed on same page code'
(i use a subdomain for all user uploads...it can be done using pathauto or maybe php which i dont know)
So the user will see his doc in iPaper window on same page soon afetr upload .
I can either create a flash node after downlaoding his ppt if its a good one or leave it as iPaper embed without a flash version.
This is not a great way as it needs manual upload of iSpring created swf file.Will try to get in touch with iSpring abt the API for Drupal.Cant say how far they will oblige as they charge 200$ for the Pro version of iSpring software.Its worth a try.All interested can do so.
And regardless to say..the advantages of converting to iSpring flash is
The animations will be preserved(openoffice removes animations,authPoint is difficult to use)
File size is reduced to 1/10 of ppt size(This one applicable to any flash converted file...not specific for iSpring converter)
"Give me a place to stand and I shall move the Earth"
-Archimedes
The ispring solution still
The ispring solution still seems the best.
However, if you want a quick and low-tech option, you can convert ppt slides to png or jpg format in powerpoint itself. Then load them into: http://drupal.org/project/node_gallery
http://drupal.org/project/fil
http://drupal.org/project/fileviewer
I remember I add google doc view in it which can used for ppt
http://docs.google.com/viewer
Also it needs to play in mobile
Everyone is talking about making this into an SWF file but this won't play in mobile
Is there an option that a PPT will play in Drupal on desktop and mobile?
Use Office Apps Live
You can use Office Apps Live to display PPT(X) nowadays. Just add the link to your PowerPoint file as GET parameter "src":
<iframe src='https://view.officeapps.live.com/op/embed.aspx?src=<YOUR FILE>' width='100%' height='600px' frameborder='0'></iframe>