Перейти к основному содержанию

clipboard

Выполняет копирование и вставку в буфер обмена системы.

Process: Main, Renderer (non-sandboxed only)

В Linux также есть selection буфер обмена. Для работы с ним необходимо передать selection каждому методу:

const { clipboard } = require('electron')

clipboard.writeText('Example string', 'selection')
console.log(clipboard.readText('selection'))

Методы

Модуль clipboard имеет следующие методы:

Примечание: Экспериментальные API помечены и могут быть удалены в будущем.

clipboard.readText([type])

  • type string (опционально) - Может быть selection или clipboard; по умолчанию 'clipboard'. selection доступен только в Linux.

Возвращает string — содержимое в буфере обмена в виде обычного текста.

const { clipboard } = require('electron')

clipboard.writeText('hello i am a bit of text!')

const text = clipboard.readText()
console.log(text)
// hello i am a bit of text!'

clipboard.writeText(text[, type])

  • text string
  • type string (опционально) - Может быть selection или clipboard; по умолчанию 'clipboard'. selection доступен только в Linux.

Записывает text в буфер обмена, как обычный текст.

const { clipboard } = require('electron')

const text = 'hello i am a bit of text!'
clipboard.writeText(text)

clipboard.readHTML([type])

  • type string (опционально) - Может быть selection или clipboard; по умолчанию 'clipboard'. selection доступен только в Linux.

Возвращает string - содержимое в буфере обмена в виде разметки.

const { clipboard } = require('electron')

clipboard.writeHTML('<b>Hi</b>')
const html = clipboard.readHTML()

console.log(html)
// <meta charset='utf-8'><b>Hi</b>

clipboard.writeHTML(markup[, type])

  • markup string
  • type string (опционально) - Может быть selection или clipboard; по умолчанию 'clipboard'. selection доступен только в Linux.

Записывает markup в буфер обмена.

const { clipboard } = require('electron')

clipboard.writeHTML('<b>Hi</b>')

clipboard.readImage([type])

  • type string (опционально) - Может быть selection или clipboard; по умолчанию 'clipboard'. selection доступен только в Linux.

Возвращает NativeImage - содержимое изображения в буфере обмена.

clipboard.writeImage(image[, type])

  • image NativeImage
  • type string (опционально) - Может быть selection или clipboard; по умолчанию 'clipboard'. selection доступен только в Linux.

Записывает image в буфер обмена.

clipboard.readRTF([type])

  • type string (опционально) - Может быть selection или clipboard; по умолчанию 'clipboard'. selection доступен только в Linux.

Возвращает string - содержимое в буфере обмена в виде RTF.

const { clipboard } = require('electron')

clipboard.writeRTF('{\\rtf1\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\\f0\\pard\nThis is some {\\b bold} text.\\par\n}')

const rtf = clipboard.readRTF()
console.log(rtf)
// {\\rtf1\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\\f0\\pard\nThis is some {\\b bold} text.\\par\n}

clipboard.writeRTF(text[, type])

  • text string
  • type string (опционально) - Может быть selection или clipboard; по умолчанию 'clipboard'. selection доступен только в Linux.

Записывает text в буфер обмена как RTF.

const { clipboard } = require('electron')

const rtf = '{\\rtf1\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\\f0\\pard\nThis is some {\\b bold} text.\\par\n}'
clipboard.writeRTF(rtf)

clipboard.readBookmark() macOS Windows

Возвращает Object:

  • title string
  • url string

Возвращает объект, содержащий ключи title и url, представляющие закладку в буфере обмена. Значения title и url будут пустыми строками, когда закладки недоступны. The title value will always be empty on Windows.

clipboard.writeBookmark(title, url[, type]) macOS Windows

  • title string - Unused on Windows
  • url string
  • type string (опционально) - Может быть selection или clipboard; по умолчанию 'clipboard'. selection доступен только в Linux.

Writes the title (macOS only) and url into the clipboard as a bookmark.

Примечание: Большинство приложений на Windows не поддерживают вставку закладок в них, так что Вы можете использовать clipboard.write, чтобы записать как закладку, так и резервный текст в буфер обмена.

const { clipboard } = require('electron')

clipboard.writeBookmark('Electron Homepage', 'https://electronjs.org')

clipboard.readFindText() macOS

Возвращает string - текст в панели поиска, который представляет собой информацию о текущем состоянии панели поиска активного приложения.

Этот метод использует синхронный IPC, когда вызывается в процессе рендеринга. Закэшированное значение перечитывается из буфера обмена, всякий раз, когда приложение активировано.

clipboard.writeFindText(text) macOS

  • text string

Записывает text в панель поиска (панель, которая содержит информацию о текущем состоянии панели поиска активного приложения) в виде простого текста. Этот метод использует синхронный IPC, когда вызывается в процессе рендеринга.

clipboard.clear([type])

  • type string (опционально) - Может быть selection или clipboard; по умолчанию 'clipboard'. selection доступен только в Linux.

Очищает содержимое буфера обмена.

clipboard.availableFormats([type])

  • type string (опционально) - Может быть selection или clipboard; по умолчанию 'clipboard'. selection доступен только в Linux.

Возвращает string[] - массив поддерживаемых форматов для type буфера обмена.

const { clipboard } = require('electron')

const formats = clipboard.availableFormats()
console.log(formats)
// [ 'text/plain', 'text/html' ]

clipboard.has(format[, type]) Экспериментально

  • format string
  • type string (опционально) - Может быть selection или clipboard; по умолчанию 'clipboard'. selection доступен только в Linux.

Возвращает boolean - поддерживает ли буфер обмена указанный format.

const { clipboard } = require('electron')

const hasFormat = clipboard.has('public/utf8-plain-text')
console.log(hasFormat)
// 'true' or 'false'

clipboard.read(format) Экспериментально

  • format string

Возвращает string - читает тип format из буфера обмена.

format should contain valid ASCII characters and have / separator. a/c, a/bc are valid formats while /abc, abc/, a/, /a, a are not valid.

clipboard.readBuffer(format) Экспериментально

  • format string

Возвращает Buffer - читает тип format из буфера обмена.

const { clipboard } = require('electron')

const buffer = Buffer.from('this is binary', 'utf8')
clipboard.writeBuffer('public/utf8-plain-text', buffer)

const ret = clipboard.readBuffer('public/utf8-plain-text')

console.log(buffer.equals(ret))
// true

clipboard.writeBuffer(format, buffer[, type]) Экспериментально

  • format string
  • buffer Buffer
  • type string (опционально) - Может быть selection или clipboard; по умолчанию 'clipboard'. selection доступен только в Linux.

Записывает buffer в буфер обмена, как format.

const { clipboard } = require('electron')

const buffer = Buffer.from('writeBuffer', 'utf8')
clipboard.writeBuffer('public/utf8-plain-text', buffer)

clipboard.write(data[, type])

  • data Object
    • text string (опционально)
    • html string (опционально)
    • image NativeImage (опционально)
    • rtf string (опционально)
    • bookmark string (опционально) - заголовок ссылки на text.
  • type string (опционально) - Может быть selection или clipboard; по умолчанию 'clipboard'. selection доступен только в Linux.

Записывает data в буфер обмена.

const { clipboard } = require('electron')

clipboard.write({
text: 'test',
html: '<b>Hi</b>',
rtf: '{\\rtf1\\utf8 text}',
bookmark: 'a title'
})

console.log(clipboard.readText())
// 'test'

console.log(clipboard.readHTML())
// <meta charset='utf-8'><b>Hi</b>

console.log(clipboard.readRTF())
// '{\\rtf1\\utf8 text}'

console.log(clipboard.readBookmark())
// { title: 'a title', url: 'test' }