当您复制MS powerpoint中的数字(例如正方形或箭头)时,可以将其粘贴到其他Microsoft产品(如MS Word或MS Outlook)中。
是否有可能制作一个也能做到这一点的网页?
我试图从powerpoint粘贴到一个可信的div或textarea,但没有任何反应。
我想它不会开箱即用,但无论如何都要以某种方式访问复制粘贴缓冲区中的信息,即使它们是任何类型的微软格式?
答案 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标签来引用图像。