Aller au contenu principal

presse-papiers

Permet d'effectuer les opérations copier et coller dans le presse-papiers.

Processus : Main, Renderer

Sous Linux, il existe également un presse-papiers de selection . Pour le manipuler vous devez passer selection à chaque méthode:

const { clipboard } = require('electron')

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

Méthodes

Le module clipboard dispose des méthodes suivantes :

Note: Les APIs expérimentales sont marquées comme telles et sont susceptibles d'être supprimés à l'avenir.

clipboard.readText([type])

  • type (facultatif) - Peut être selection ou clipboard; la valeur par défaut est 'presse-papiers'. selection lui n'est disponible que sur Linux.

Retourne string - Le contenu du presse-papiers en tant que texte brut.

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 (facultatif) - Peut être selection ou clipboard; la valeur par défaut est 'presse-papiers'. selection lui n'est disponible que sur Linux.

Écrit le text dans le presse-papiers au format texte brut.

const { clipboard } = require('electron')

const text = 'bonjour je suis un peu de texte!'
clipboard.writeText(text)

clipboard.readHTML([type])

  • type string (facultatif) - Peut être selection ou clipboard; la valeur par défaut est 'clipboard'. selection lui n'est disponible que sur Linux.

Retourne string - Le contenu du presse-papiers en html.

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 (facultatif) - Peut être selection ou clipboard; la valeur par défaut est 'clipboard'. selection lui n'est disponible que sur Linux.

Écrit le markup dans le presse-papiers.

const { clipboard } = require('electron')

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

clipboard.readImage([type])

  • type (facultatif) - Peut être selection ou clipboard; la valeur par défaut est 'presse-papiers'. selection lui n'est disponible que sur Linux.

Renvoie NativeImage : contenu de l’image dans le presse-papiers.

clipboard.writeImage(image[, type])

  • image NativeImage
  • type (facultatif) - Peut être selection ou clipboard; la valeur par défaut est 'presse-papiers'. selection lui n'est disponible que sur Linux.

Écrit l'image dans le presse-papiers.

clipboard.readRTF([type])

  • type string (facultatif) - Peut être selection ou clipboard; la valeur par défaut est 'clipboard'. selection lui n'est disponible que sur Linux.

Retourne string - Le contenu du presse-papiers en RTF.

const { clipboard } = require('electron')

clipboard.writeRTF('{\\rtf1\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\\f0\\pard\nCeci est du texte {\\b bold}. \par\n}')

const rtf = clipboard.readRTF()
console.log(rtf)
// {\\rtf1\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\\f0\\pard\nIl s'agit de quelques {\\b bold} text.\\par\n

clipboard.writeRTF(text[, type])

  • text string
  • type string (facultatif) - Peut être selection ou clipboard; la valeur par défaut est 'clipboard'. selection lui n'est disponible que sur Linux.

Écrit le text dans le presse-papiers en RTF.

const { clipboard } = require('electron')

const rtf = '{\\rtf1\\ansi{\\fonttbl\\f0\\f0\\fswiss Helvetica;}\\f0\\pard\nCeci est un peu {\\b bold} text.\\par\n}'
clipboard.writeRTF(rtf)

clipboard.readBookmark() macOS Windows

Retourne Object:

  • title string
  • url string

Retourne un objet contenant title et url clés représentant le marque-page dans le presse-papiers. La valeur des clés title et url sera une chaîne de caractères vide si le marque-page n'est pas disponible. La valeur title sera toujours vide sur Windows.

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

  • Chaîne title - Inutilisée sous Windows
  • url string
  • type (facultatif) - Peut être selection ou clipboard; la valeur par défaut est 'clipboard'. selection lui n'est disponible que sur Linux.

Écrit le title (macOs seulement) et url dans le presse-papiers comme marque-page.

Remarque : La plupart des applications sous Windows ne prennent pas en charge le collage des signets donc vous pouvez utiliser clipboard.write pour écrire à la fois un signet et un texte de secours dans le presse-papiers.

const { clipboard } = require('electron')

clipboard.writeBookmark({
text: 'https://electronjs.org',
signet: 'Page d'accueil Electron'
})

clipboard.readFindText() macOS

Retourne string - Le texte dans le presse-papier trouvé, qui est le presse-papier contenant les informations sur l'état actuel du panneau de recherche de l'application active.

Cette méthode utilise un IPC synchronisé lorsqu'il est appelé depuis le processus de rendu. La valeur mise en cache est relue à partir du pasteboard à chaque fois que l'application est activée.

clipboard.writeFindText(text) macOS

  • text string

Écrit le text dans le presse-papier find (le presse-papier qui contient des informations sur l'état actuel du panneau de recherche de l'application active) en texte brut. Cette méthode utilise un IPC synchronisé lorsqu'il est appelé depuis le processus de rendu.

clipboard.clear([type])

  • type (facultatif) - Peut être selection ou clipboard; la valeur par défaut est 'clipboard'. selection lui n'est disponible que sur Linux.

Efface le contenu du presse-papiers.

clipboard.availableFormats([type])

  • type (facultatif) - Peut être selection ou clipboard; la valeur par défaut est 'clipboard'. selection lui n'est disponible que sur Linux.

Retourne string[] - Un tableau des formats pris en charge pour le type du presse-papiers.

const { clipboard } = require('electron')

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

clipboard.has(format[, type]) Experimental

  • format string
  • type (facultatif) - Peut être selection ou clipboard; la valeur par défaut est 'clipboard'. selection lui n'est disponible que sur Linux.

Retourne boolean - Selon que le presse-papiers prend en charge ou pas le format spécifié.

const { clipboard } = require('electron')

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

clipboard.read(format) Expérimental

  • format string

Retourne string - Lit le type de format depuis le presse-papiers.

format ne doit contenir que des caractères ASCII valides avec / comme séparateur. a/c, a/bc sont des formats valides tandis que /abc, abc/, a/, /a, a ne sont pas valides.

clipboard.readBuffer(format) Expérimental

  • format string

Retourne un Buffer - Selont le type de format depuis le presse-papiers.

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(out))
// true

clipboard.writeBuffer(format, buffer[, type]) Experimental

  • format string
  • buffer Buffer
  • type string (facultatif) - Peut être selection ou clipboard; la valeur par défaut est 'clipboard'. selection lui n'est disponible que sur Linux.

Écrit le buffer dans le presse-papiers selon le format.

const { clipboard } = require('electron')

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

clipboard.write(data[, type])

  • Objet data
    • text string (facultatif)
    • html string (facultatif)
    • image NativeImage (facultatif)
    • rtf string (facultatif)
    • bookmark string (facultatif) - Le titre de l'url dans text.
  • type (facultatif) - Peut être selection ou clipboard; la valeur par défaut est 'clipboard'. selection lui n'est disponible que sur Linux.

Écrit data dans le presse-papiers.

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' }