将图像从 Firefox 拖放到 Microsoft Powerpoint
Posted
技术标签:
【中文标题】将图像从 Firefox 拖放到 Microsoft Powerpoint【英文标题】:Dragging and dropping images from Firefox into Microsoft Powerpoint 【发布时间】:2012-02-24 19:11:55 【问题描述】:我正在尝试制作一个网页,允许用户将图像拖放到 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 中完成一些事情。 【参考方案1】:只需将“n”拖放到 ppt 幻灯片的边界之外(以确保您没有拖放到预定义的文本框上) - 并释放鼠标按钮 - 无需编码!
Firefox 拖动会将图像放在 te ppt 幻灯片的中心。
【讨论】:
【参考方案2】:现状
遗憾的是,您无法在您的浏览器和应用程序中执行任何操作来启用对 PowerPoint 的拖放支持。
这是需要在 PowerPoint 中的源代码级别支持的东西(如果您不将图像放在现有元素上,而是在您想要将其拖放到的幻灯片框架之外,这似乎是 - 但可能取决于版本)。
如果它(由于某种原因仍然)不支持 drop 的图像部分,而只支持链接(如果没有提供更改此行为的选项),则几乎没有什么可做的,但希望 Microsoft 将更新 PowerPoint将来提供此支持,或 - 如果需要,请检查以下解决方法:
加载项
您可以考虑为 PowerPoint 编写一个 加载项(或者可能只使用宏 - 对于宏,您可能需要 lower security to medium [PDF]),它将获取删除的链接并替换它与链接所指的图像。
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 中。
【讨论】:
我认为没有办法直接从网页上执行此操作,但我肯定会考虑编写一个加载项。谢谢【参考方案3】:您的 Powerpoint 版本是什么? 这非常重要,因为可能缺少图像格式支持。 如果是这种情况,您的代码需要添加最低版本警告。 也可以要求将图像转换为合适的格式。
您使用的 Powerpoint 版本甚至不可能以您想要的方式支持此功能。
你可以尝试使用html代码。
此代码可能会对您有所帮助: http://clas-s-roomtech.org.uk/2008/08/drag-and-drop-in-powerpoint/
其他可能性是带有图像链接的 OLE 对象。
可以检查执行类似操作的其他 Microsoft 应用程序如何处理事情。
如果这不起作用,您可以尝试生成一个 OLE 对象,其中包含指向图像的链接。
【讨论】:
以上是关于将图像从 Firefox 拖放到 Microsoft Powerpoint的主要内容,如果未能解决你的问题,请参考以下文章
如何将图像拖放到容器中,然后根据拖放到容器中的内容更新容器?