将图像从Firefox拖放到Microsoft Powerpoint中

时间:2012-02-02 04:19:19

标签: javascript html5 firefox draggable powerpoint

我正在尝试制作一个网页,允许用户将图像拖放到Microsoft Office应用程序中,特别是Powerpoint。

默认情况下(从FF3.5开始),Firefox会在删除图像而不是图像本身时插入源URL。添加以下Javascript / jQuery代码(派生自https://developer.mozilla.org/En/DragDrop/Drag_Operations)后,

$('img').attr('draggable', true).bind('dragstart', function (event) {
    event.originalEvent.dataTransfer.effectAllowed = 'copy';
});

拖放工作从Firefox到Word和Excel,但不是PowerPoint。有关具体情况的示例,请参阅http://slides.html5rocks.com/#drag-and-drop。我用FF3.6和FF9进行了测试。

如何使用PowerPoint?

3 个答案:

答案 0 :(得分:1)

现状

遗憾的是,您无法在浏览器和应用程序中执行任何操作来启用对 PowerPoint 的支持。

这需要在PowerPoint中的源代码级别支持(如果您不将图像放在现有元素上,而是放在幻灯片框架外面,您希望将其放到 - 但可能依赖于版本)。

如果它(由于某种原因仍然)不支持drop的图像部分而只支持链接(如果没有提供用于更改此行为的选项),那么除了希望Microsoft将更新PowerPoint之外,几乎没有什么可做的。未来的这种支持, - 或者 - 如果需要,检查以下选项以解决方法:

外接

您可以考虑编写一个加载项(或者可能只是使用一个宏 - 您可能需要lower security to medium [PDF]用于宏),这将获取将删除的链接的PowerPoint用链接引用的图像替换它。

Here is one place to get you started making add-ins if this is a viable option

Here is a commercial framework that makes creating add-ins very simple

(在这方面的免责声明:我在这里假设这将是可能的,因为add-ins such as this允许您在PP内显示实时网页。

管道/工作流程

还可以选择在管道中注入第三方应用程序来执行图像的屏幕快照,并将其自动插入到PP中。

SnagIt is such an application(可能还有其他人)并且它有免费扩展程序,可以让您整合“障碍”directly with PowerPoint

或(可能太明显的选项):只需在浏览器中复制图像并将其粘贴到PowerPoint中即可。

答案 1 :(得分:1)

只需在'ppt幻灯片的边界外拖动'(以确保你没有放在预定义的文本框上) - 并释放鼠标按钮 - 无需编码!

Firefox拖动会将图像放在te ppt幻灯片的中心。

答案 2 :(得分:0)

您的Powerpoint版本是什么? 这非常重要,因为可能缺乏图像格式支持。 如果是这种情况,您的代码需要添加最低版本警告。 也可以要求将图像转换为合适的格式。

甚至可能会出现这样的情况,即你用的Powerpoint版本无法以你想要的方式支持它。

您可以尝试使用HTML代码。

此代码可能对您有所帮助: http://classroomtech.org.uk/2008/08/drag-and-drop-in-powerpoint/

其他可能性是带有图像链接的OLE对象。

可以检查其他类似的Microsoft应用程序如何处理事情。

如果这不起作用,您可以尝试生成一个OLE对象,其中包含指向其中图像的链接。