clipboard

    Process: Main, (只能在非沙盒下使用)

    在 Linux 上,还有一个 selection 粘贴板 。 想要操作该剪切板,你需要为每个函数传递 selection 参数。

    clipboard 对象具有以下方法:

    注意: 被标记为实验性的 api 将来可能被删除。

    • type string (optional) -可以是 selectionclipboard; 默认为 ‘clipboard’. selection 仅在 Linux 中可用。

    返回 string - 剪贴板中的内容为纯文本。

    1. const { clipboard } = require('electron')
    2. clipboard.writeText('hello i am a bit of text!')
    3. const text = clipboard.readText()
    4. console.log(text)
    5. // hello i am a bit of text!'

    clipboard.writeText(text[, type])

    • text string
    • type string (optional) -可以是 selectionclipboard; 默认为 ‘clipboard’. selection 仅在 Linux 中可用。

    text 作为纯文本写入剪贴板。

    1. const { clipboard } = require('electron')
    2. const text = 'hello i am a bit of text!'
    3. clipboard.writeText(text)

    clipboard.readHTML([type])

    • type string (optional) -可以是 selectionclipboard; 默认为 ‘clipboard’. selection 仅在 Linux 中可用。

    返回 string - 剪贴板中作为标记的内容。

    1. clipboard.writeHTML('<b>Hi</b>')
    2. const html = clipboard.readHTML()
    3. console.log(html)
    4. // <meta charset='utf-8'><b>Hi</b>

    clipboard.writeHTML(markup[, type])

    • markup string
    • type string (optional) -可以是 selectionclipboard; 默认为 ‘clipboard’. selection 仅在 Linux 中可用。

    markup 写入剪贴板。

    clipboard.readImage([type])

    • type string (optional) -可以是 selection 或 ; 默认为 ‘clipboard’. selection 仅在 Linux 中可用。

    clipboard.writeImage(image[, type])

    • image
    • type string (optional) -可以是 selectionclipboard; 默认为 ‘clipboard’. selection 仅在 Linux 中可用。

    image 写入剪贴板。

    • type string (optional) -可以是 selectionclipboard; 默认为 ‘clipboard’. selection 仅在 Linux 中可用。

    返回 string - 剪贴板中的内容为 RTF。

    1. const { clipboard } = require('electron')
    2. clipboard.writeRTF('{\\rtf1\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\\f0\\pard\nThis is some {\\b bold} text.\\par\n}')
    3. const rtf = clipboard.readRTF()
    4. console.log(rtf)
    5. // {\\rtf1\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\\f0\\pard\nThis is some {\\b bold} text.\\par\n}

    clipboard.writeRTF(text[, type])

    • text string
    • type string (optional) -可以是 selectionclipboard; 默认为 ‘clipboard’. selection 仅在 Linux 中可用。

    向剪贴板中写入 RTF 格式的 text.

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

    clipboard.readBookmark() macOS Windows

    返回 Object:

    • title string
    • url string

    返回一个对象, 其中包含表示剪贴板中书签 titleurl 。 当书签不可用时, titleurl 值将为空字符串。 Windows上的 title 值将永远是空的。

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

    • title string - Windows 未使用
    • url string
    • type string (optional) -可以是 selectionclipboard; 默认为 ‘clipboard’. selection 仅在 Linux 中可用。

    title (仅限 macOS) 和 url 写入粘贴板,并作为书签。

    注意:Windows上的大多数应用程序不支持粘贴书签,因此你可以使用 clipboard.write 将书签和后备文本写入剪贴板。

    1. const { clipboard } = require('electron')
    2. clipboard.writeBookmark({
    3. text: 'https://electronjs.org',
    4. bookmark: 'Electron Homepage'

    clipboard.readFindText() macOS

    返回 string - “查找粘贴板”上的文本,这是保存有关活动应用程序查找面板当前状态信息的粘贴板。

    clipboard.writeFindText(text) macOS

    • text string

    text 作为纯文本写入查找粘贴板(粘贴板上有关于当前应用程序查找面板状态的信息)。 此方法从渲染进程调用时使用同步 IPC。

    • type string (optional) -可以是 selectionclipboard; 默认为 ‘clipboard’. selection 仅在 Linux 中可用。

    清除剪贴板内容。

    clipboard.availableFormats([type])

    • string (optional) -可以是 selectionclipboard; 默认为 ‘clipboard’. selection 仅在 Linux 中可用。

    返回 string[] - 剪贴板 type 支持格式的数组。

    clipboard.has(format[, type]) 实验功能

    • format string
    • type string (optional) -可以是 selectionclipboard; 默认为 ‘clipboard’. selection 仅在 Linux 中可用。

    返回 boolean - 剪贴板是否支持指定的 format

    1. const { clipboard } = require('electron')
    2. const hasFormat = clipboard.has('public/utf8-plain-text')
    3. console.log(hasFormat)
    4. // 'true' 或 'false'

    clipboard.read(format) 实验功能

    • format string

    返回 string - 从剪贴板读取指定 format 类型内容。

    format 应该包含有效的 ASCII 字符和 / 分隔符。 a/c, a/bc 是有效格式,然而 /abc, abc/, a/, /a, a 是无效格式。

    clipboard.readBuffer(format) 实验功能

    • format string

    返回 Buffer- 从剪贴板中读取 format 类型的内容。

    1. const { clipboard } = require('electron')
    2. const buffer = Buffer.from('this is binary', 'utf8')
    3. clipboard.writeBuffer('public/utf8-plain-text', buffer)
    4. const ret = clipboard.readBuffer('public/utf8-plain-text')
    5. console.log(buffer.equals(out))
    6. // true

    clipboard.writeBuffer(format, buffer[, type]) 实验功能

    • format string
    • buffer Buffer
    • type string (optional) -可以是 selectionclipboard; 默认为 ‘clipboard’. selection 仅在 Linux 中可用。

    buffer 作为 format 类型写入剪贴板。

    1. const { clipboard } = require('electron')
    2. const buffer = Buffer.from('writeBuffer', 'utf8')
    3. clipboard.writeBuffer('public/utf8-plain-text', buffer)
    • data Object
      • text string(可选)
      • html string(可选)
      • image (可选)
      • rtf string (可选)
      • bookmark string (可选)- URL 的标题 text
    • type string (optional) -可以是 selectionclipboard; 默认为 ‘clipboard’. 仅在 Linux 中可用。