Получить доступ к буферу обмена позволяет объект 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([<Тип>]) — очищает буфер обмена.