将PowerPoint演示文稿嵌入HTML页面

65

是否可以将PowerPoint演示文稿(.ppt)嵌入到网页(.xhtml)中?

这将用于一个本地的内部网络,其中使用的浏览器为Internet Explorer 6和Internet Explorer 7,因此不需要考虑其他浏览器。


我已经放弃了......我猜Flash是未来的趋势。


有没有办法在HTML中嵌入pptx文件? - Himanshu
23个回答

96

Google Docs可以在其文档查看器中提供PowerPoint(和PDF)文档。您无需注册Google Docs,只需将其上传到您的网站,并从页面中调用即可:

<iframe src="//docs.google.com/gview?url=https://www.yourwebsite.com/powerpoint.ppt&embedded=true" style="width:600px; height:500px;" frameborder="0"></iframe>

2
虽然对我的目的没有用,但考虑到问题说明是针对本地内部网络的,这肯定是解决方法!+1 - Steg
4
我尝试了这个操作,但是只得到了一个“抱歉,我们目前无法生成该文档的视图。 请稍后再试。”的提示。 - David Yell
3
这个解决方案已经不再有效,因为谷歌将访问 X-Frame-Options 限制为 sameorigin - Hello It's me
我在处理大文件时遇到了这个消息:“糟糕,此文件过大无法预览”,你能帮忙解决吗? - Yuyutsu
有一个10MB的大小限制。 - Gabriel Robert
显示剩余2条评论

11

我建议使用官方的在线查看Office文档功能。

链接

如果要嵌入,您可以简单地使用

<iframe src='https://view.officeapps.live.com/op/embed.aspx?src={urlencode(site-to-ppt)}' width='962px' height='565px' frameborder='0'></iframe>

这对于一次处理一个文件非常好用...您知道它们是否有API,可以返回多个文件的URL吗? - K7Buoy
嗨@K7Buoy,你有找到API解决方案吗?我也对官方API来显示PowerPoint幻灯片很感兴趣。谢谢! - Jack Collins
嗨@JackCollins...很不幸...我找了相当长的时间。 - K7Buoy
嗨@K7Buoy,我尝试寻找商业使用许可证,但找不到任何明确的信息。您知道在商业方面使用这个是否有限制吗? - etchypap

11

我尝试了许多各种不稳定或需要Flash的Web主机选项,以至于我对此感到非常厌烦,因此我自己开发了一个解决方案。

我的解决方案使用一个非常简单的JavaScript函数,通过滚动/替换图像标签并使用从Power Point演示文稿中保存下来的GIF文件来显示幻灯片。

  1. 在Power Point演示文稿中选择“另存为”并选择GIF格式,选择您想要显示演示文稿的质量。 Power Point将为每个幻灯片保存一个GIF图像,并将它们命名为Slide1.GIF,Slide2.GIF等。

  2. 创建一个HTML页面,并添加一个图像标签以显示Power Point GIF图像。

<img src="Slide1.GIF" id="mainImage" name="mainImage" width="100%" height="100%" alt="">
  • 添加一些可点击的“第一页”、“上一页”、“下一页”和“最后一页”对象,并将其onClick操作设置如下:

  • <a href="#" onclick="swapImage(0);"><img src="/images/first.png" border=0 alt="First"></a>
    <a href="#" onclick="swapImage(currentIndex-1);"><img src="/images/left.png" border=0 alt="Back"></a>
    <a href="#" onclick="swapImage(currentIndex+1);"><img src="/images/right.png" border=0 alt="Next"></a>
    <a href="#" onclick="swapImage(maxIndex);"><img src="/images/last.png" border=0 alt="Last"></a>
    
    最后,添加以下JavaScript函数,当调用时会获取下一个Slide.GIF图像并将其显示到img标签中。
    <script type="text/javascript">
        //Initilize start value to 1 'For Slide1.GIF'
        var currentIndex = 1;
    
        //NOTE: Set this value to the number of slides you have in the presentation.
        var maxIndex=12;
    
        function swapImage(imageIndex){
            //Check if we are at the last image already, return if we are.
            if(imageIndex>maxIndex){
                currentIndex=maxIndex;
                return;
            }
    
            //Check if we are at the first image already, return if we are.
            if(imageIndex<1){
                currentIndex=1;
                return;
            }
    
            currentIndex=imageIndex;
            //Otherwise update mainImage
            document.getElementById("mainImage").src='Slide' +  currentIndex  + '.GIF';
            return;
        }
    </script>
    
    确保从HTML页面可以访问GIF图像。默认情况下,它们应该在同一目录中,但如果需要,您应该能够看到逻辑并设置为图像目录。
    我为我的公司准备了培训材料,使用这种技术,网站是http://www.vanguarddata.com.au,因此,在尝试之前,您可以查看其操作方式。
    我希望这可以帮助像我一样头疼的其他人......

    非常有创意的方式。干得好。 - JoshYates1980
    你能否给它加上一个许可证呢?这样我们就可以方便地重用它了。也许可以考虑使用CC0许可证:https://wiki.creativecommons.org/wiki/CC0 - markgalassi
    你有没有任何想法如何处理带有动画的幻灯片? - Zane
    谢谢您向我展示了在网页上实现PowerPoint的方法。从您上面粘贴的代码中,我认为第一个按钮应该是swapImage(1)而不是swapImage(0),对吗?另外,我该如何实现一个简单的文本,让用户知道他们正在查看哪个幻灯片,例如“16张幻灯片中的第3张”或“16张幻灯片中的第1张”? - Makuza

    5

    DocStoc.comScribd.com都能很好地与Internet Explorer 6和Internet Explorer 7兼容。它们可以显示各种文档类型,包括PowerPoint文件(.ppt)。我在工作中使用这些服务来管理公司内部网络。当然,在上传文档后,请务必将其标记为“私人”。


    4

    此外,如果您使用 Microsoft PowerPoint 把 PPT 文件保存成 .pps 格式,您可以使用以下代码:

    <iframe src="file.pps" width="800px" heigt="600px"></iframe>
    

    另一种常见的方法是将ppt/doc转换为pdf,

    然后使用swftool (http://www.swftools.org)将其转换为swf格式

    最后,使用FlexPaper (http://flexpaper.devaldi.com) 作为文档查看器。


    3

    1
    嵌入式PPT应用程序的质量不是很高。它将您的幻灯片转换为中等质量的JPEG,并添加了一个切换按钮。(最好从Powerpoint自己导出幻灯片,然后使用jQuery滑块。)全屏弹出窗口效果稍微好一些(它有动画,但并不是很好),但它也依赖于Silverlight插件--这在移动设备上无法使用。 - Brandon Lebedev
    @BrandonLebedev,从我所见,嵌入式PPT的质量实际上比Google Docs渲染的PowerPoints要好。但正如你所指出的那样,对于移动用户或没有安装Silverlight插件的任何人来说都没有什么用处。 - Ciaran Gallagher
    博客链接已经失效。 - JoshYates1980

    3
    我不知道如何直接将PowerPoint幻灯片嵌入HTML中。但是,有许多在线解决方案可以将PPT文件转换为SWF,并像任何其他Flash电影一样嵌入到HTML中。
    搜索“ppt to swf”谷歌似乎会得到很多结果。有些是免费的,有些则不是。有些处理动画等内容,而另一些则只处理静态图像。肯定会有一个适合您的需求。 :)

    3

    2
    Google Docs允许您上传PowerPoint文档,然后您可以与所有人“共享”它,然后您可以“发布”它,这将提供嵌入到您的网站中的代码,或者您可以使用直接链接,该链接在浏览器窗口的完整尺寸下运行。转换效果很好,并且因为保留了文本而不是转换为图像,所以缩放效果也很好。转换效果非常好,整个过程免费。绝对值得一试。

    2

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接