将数字从MS Office复制粘贴到html

时间:2013-10-05 02:44:25

标签: html ms-office powerpoint contenteditable copy-paste

当您复制MS powerpoint中的数字(例如正方形或箭头)时,可以将其粘贴到其他Microsoft产品(如MS Word或MS Outlook)中。

是否有可能制作一个也能做到这一点的网页?

我试图从powerpoint粘贴到一个可信的div或textarea,但没有任何反应。

我想它不会开箱即用,但无论如何都要以某种方式访问​​复制粘贴缓冲区中的信息,即使它们是任何类型的微软格式?

3 个答案:

答案 0 :(得分:1)

您可以收听'粘贴'事件,并从ClipboardEvent对象获取图像blob。 代码示例:

document.addEventListener('paste', handleClipBoard);
function handleClipBoard(ev) {
  ev.preventDefault();
  Array.prototype.forEach.call(ev.clipboardData.items, function(item) {
    if (item.kind === 'string') {
      item.getAsString(function(content) {
          ev.target.innerHTML += content;
      });
    } else if(item.kind === 'file') {
      var blob = item.getAsFile();
      console.dir(blob);
      var img = document.createElement('img');
      img.src = URL.createObjectURL(blob);
      ev.target.appendChild(img);
    }
  });
}

此处指定了ClipboardEvent API:http://www.w3.org/TR/clipboard-apis 但是,这个API非常新,现在只有chrome完全支持。

您会注意到剪贴板中的内容可能会被多次粘贴,这是因为剪贴板中的数据可以同时采用不同的格式。您可以按item.type属性过滤它们。

答案 1 :(得分:0)

如果您只想复制原始数据,那么就可以。因为Buffer只存储字符ASCII值而不是特定文本的样式。如果你想要那种风格,那么使用css文件

答案 2 :(得分:0)

右键单击该图,选择另存为图片并保存到PNG / JPG。 然后在你的html中使用img标签来引用图像。