Получить доступ к буферу обмена позволяет объект clipboard
. Инструкция импорта:
const { clipboard } = require('electron');
Объект clipboard
содержит следующие методы:
readText([<Тип>])
— читает текстовые данные из буфера обмена и возвращает их. Прочитаем данные из буфера обмена и добавим их в текстовое поле:let txt1 = document.getElementById('txt1');
txt1.value = clipboard.readText();
writeText(<Текст>[, <Тип>])
— записывает <Текст>
в буфер обмена. Запишем данные из текстового поля в буфер обмена:let txt1 = document.getElementById('txt1');
if (txt1.value !== '') {
clipboard.writeText(txt1.value);
}
readHTML([<Тип>])
— читает HTML-текст из буфера обмена и возвращает его;writeHTML(<HTML-текст>[, <Тип>])
— записывает <HTML-текст>
в буфер обмена;readRTF([<Тип>])
— читает текст в формате RTF из буфера обмена и возвращает его;writeRTF(<RTF>[, <Тип>])
— записывает <RTF>
в буфер обмена;readImage([<Тип>])
— читает изображение из буфера обмена и возвращает объект NativeImage
;writeImage(<NativeImage>[, <Тип>])
— записывает объект NativeImage
в буфер обмена. Прочитаем изображение из файла и добавим его в буфер обмена:let img = nativeImage.createFromPath('photo.jpg');
if ( !img.isEmpty() ) {
clipboard.writeImage(img);
}
write(<Объект>[, <Тип>])
— записывает данные сразу в нескольких форматах. В первом параметре указывается объект со свойствами text
, html
, rtf
, image
и bookmark
. Пример:clipboard.write({
text: 'Текст',
html: '<b>Текст</b>',
rtf: 'RTF'
});
availableFormats([<Тип>])
— возвращает массив со всеми доступными форматами. Пример:console.log( clipboard.availableFormats() );
// ["text/plain", "text/html", "text/rtf"]
clear([<Тип>])
— очищает буфер обмена.