将Firefox中的图片拖放到Microsoft Powerpoint中

7
我正在尝试制作一个网页,允许用户将图像拖放到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中工作?

我怀疑你无法在页面内做任何事情使其工作。也许可以从PowerPoint内部进行一些操作。 - user191966
3个回答

1

现状

遗憾的是,您无法通过浏览器和应用程序来启用对于PowerPoint的拖放支持。

这需要在PowerPoint源级别上支持(如果您不将图像放置在现有元素上而是直接放在要放置它的幻灯片框架外面,则似乎可以支持 - 但可能取决于版本)。

如果它(出于某种原因仍然)不支持拖放的图像部分,而只支持链接(如果没有提供更改此行为的选项),则除了希望微软将来会更新PowerPoint以支持此功能之外,几乎无能为力。或者,如果需要,可以检查以下选项以获取解决方法:

添加插件

您可以考虑编写一个PowerPoint的插件(或可能只需使用宏 - 您可能需要将安全级别降低到中等[PDF]以便使用宏),该插件将获取被拖放的链接并将其替换为链接所引用的图像。

这里有一个可以帮助你开始制作插件的地方,如果这是可行的选项

这是一个商业框架,使创建插件非常简单

(在这方面的免责声明:我在这里假设这将是可能的,因为这样的插件允许您在PP中显示实时网页)。

管道/工作流程

还有一种选择,就是将第三方应用程序注入到管道中,以对图像进行屏幕截图,并自动将其插入到PP中。

SnagIt就是这样一个应用程序(可能还有其他应用程序),它有免费的扩展,可以让您将“抓取”直接与PowerPoint集成

或者(也许有些显而易见的选项):直接在浏览器中复制图像,然后将其粘贴到 PowerPoint 中。

我想不会有直接从网页上完成它的方法,但我肯定会考虑编写一个插件。谢谢。 - Fractaly

1
只需将内容拖到 ppt 幻灯片边界之外(确保您没有拖放到预定义的文本框中) - 然后释放鼠标按钮 - 无需编码! Firefox 拖放将在 ppt 幻灯片中心放置图像。

0

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

甚至可能无法以你想要的方式支持你正在使用的Powerpoint版本。

你可以尝试使用HTML代码。

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

其他可能性是使用OLE对象链接到图像。

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

如果那样不起作用,你可以尝试生成一个带有图像链接的OLE对象。


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