presse-papiers
Permet d'effectuer les opérations copier et coller dans le presse-papiers.
Process: Main, Renderer (non-sandboxed only)
[!IMPORTANT] Si vous voulez appeler cette API à partir d'un processus de rendu avec l'isolation du contexte activée, placez l'appel API dans votre script de préchargement et exposez-le en utilisant l'API
contextBridge.
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] Experimental APIs are marked as such and could be removed in future.
clipboard.readText([type])
type(facultatif) - Peut êtreselectionouclipboard; la valeur par défaut est 'presse-papiers'.selectionlui 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])
textstringtype(facultatif) - Peut êtreselectionouclipboard; la valeur par défaut est 'presse-papiers'.selectionlui 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])
typestring (facultatif) - Peut êtreselectionouclipboard; la valeur par défaut est 'clipboard'.selectionlui 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])
markupstringtype(facultatif) - Peut êtreselectionouclipboard; la valeur par défaut est 'clipboard'.selectionlui 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 êtreselectionouclipboard; la valeur par défaut est 'presse-papiers'.selectionlui n'est disponible que sur Linux.
Returns NativeImage - The image content in the clipboard.
clipboard.writeImage(image[, type])
imageNativeImagetype(facultatif) - Peut êtreselectionouclipboard; la valeur par défaut est 'presse-papiers'.selectionlui n'est disponible que sur Linux.
Écrit l'image dans le presse-papiers.
clipboard.readRTF([type])
typestring (facultatif) - Peut êtreselectionouclipboard; la valeur par défaut est 'clipboard'.selectionlui 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])
textstringtypestring (facultatif) - Peut êtreselectionouclipboard; la valeur par défaut est 'clipboard'.selectionlui 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:
titlestringurlstring
Retourne un objet contenant les clés title et url représentant le marque-page du 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 urlstringtype(facultatif) - Peut êtreselectionouclipboard; la valeur par défaut est 'clipboard'.selectionlui n'est disponible que sur Linux.
Écrit le title (macOs seulement) et url dans le presse-papiers comme marque-page.
[!NOTE] Most apps on Windows don't support pasting bookmarks into them so you can use
clipboard.writeto write both a bookmark and fallback text to the clipboard.
const { clipboard } = require('electron')
clipboard.writeBookmark('Electron Homepage', 'https://electronjs.org')
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
textstring
É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 êtreselectionouclipboard; la valeur par défaut est 'clipboard'.selectionlui n'est disponible que sur Linux.
Efface le contenu du presse-papiers.
clipboard.availableFormats([type])
type(facultatif) - Peut êtreselectionouclipboard; la valeur par défaut est 'clipboard'.selectionlui 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
formatstringtype(facultatif) - Peut êtreselectionouclipboard; la valeur par défaut est 'clipboard'.selectionlui 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
formatstring
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 are valid formats while /abc, abc/, a/, /a, a are not valid.
clipboard.readBuffer(format) Expérimental
formatstring
Retourne un Buffer - Lit le type de format depuis le presse-papiers.
const { clipboard } = require('electron')
const buffer = Buffer.from('c'est du binaire', 'utf8')
clipboard.writeBuffer('public/utf8-plain-text', buffer)
const ret = clipboard.readBuffer('public/utf8-plain-text')
console.log(buffer.equals(ret))
// vrai
clipboard.writeBuffer(format, buffer[, type]) Experimental
formatstringbufferBuffertypestring (facultatif) - Peut êtreselectionouclipboard; la valeur par défaut est 'clipboard'.selectionlui n'est disponible que sur Linux.
Écrit le buffer dans le presse-papiers comme format.
const { clipboard } = require('electron')
const buffer = Buffer.from('writeBuffer', 'utf8')
clipboard.writeBuffer('public/utf8-plain-text', buffer)
clipboard.write(data[, type])
- Objet
datatextstring (facultatif)htmlstring (facultatif)imageNativeImage (optional)rtfstring (facultatif)bookmarkstring (facultatif) - Le titre de l'url danstext.
type(facultatif) - Peut êtreselectionouclipboard; la valeur par défaut est 'clipboard'.selectionlui 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' }