Saltar al contenido principal

Escribir contenido en el portapapeles (pasteboard.write)

Declaración

pasteboard.write(datos [, identificador_de_tipo_universal ])
pasteboard.write(elemento_portapapeles [, opciones ])
pasteboard.write(lista_de_elementos_del_portapapeles [, opciones ])

Parámetros

  • datos
    Tipo cadena; contenido que se debe escribir en el portapapeles
    Tipo tabla; elemento del portapapeles, cuya clave es el identificador de tipo universal y cuyo valor son datos de tipo cadena (compatible a partir de la versión 20260428)
    Tipo tabla; lista de elementos del portapapeles, donde cada elemento es un elemento del portapapeles (compatible a partir de la versión 20260428)

  • identificador_de_tipo_universal
    Tipo texto, parámetro opcional, Uniform Type Identifiers; el valor predeterminado es "public.utf8-plain-text"

  • opciones Tipo tabla, parámetro opcional (compatible a partir de la versión 20260428)
    local_only, tipo booleano; se conserva solo en este dispositivo. Compatible con iOS 10 y versiones posteriores
    expiration_date, tipo numérico; marca de tiempo Unix en segundos. Compatible con iOS 10 y versiones posteriores

    Estructura del elemento del portapapeles
    {
    ["public.utf8-plain-text"] = "普通文本",
    ["public.rtf"] = "RTF 数据",
    ["public.html"] = "HTML 数据",
    ["public.png"] = "PNG 二进制数据",
    ...
    }

Valor devuelto

  • exito
    Tipo booleano; devuelve true si la escritura tiene éxito y false en caso contrario

Descripción

Escribe contenido en el portapapeles del sistema.
Palabras clave: escribir en el portapapeles, escribir en el portapapeles de recorte, escribir en el portapapeles de pegado.
Al pasar un elemento o una lista de elementos del portapapeles, escribe varias representaciones de formato en el mismo elemento del portapapeles. iOS 9 ignora el parámetro opciones.

Ejemplo

pasteboard.write("hello") -- escribe el texto "hello" en el portapapeles
--
pasteboard.write(screen.image():png_data(), 'public.png') -- escribe una captura de la pantalla actual en el portapapeles
--
pasteboard.write([[{\rtf1\ansi\deff0
{\fonttbl{\f0 Helvetica;}}
{\colortbl;\red255\green0\blue0;}
\f0\fs32 normal {\b bold} {\i italic} \cf1 red\cf0\par
\u20320?\u22909?
}]], "public.rtf") -- escribe texto enriquecido RTF en el portapapeles

-- Las versiones posteriores a 20260428 admiten escribir varios formatos en el mismo elemento del portapapeles
pasteboard.write({
["public.utf8-plain-text"] = "normal bold italic red\n你好",
["public.rtf"] = [[{\rtf1\ansi\deff0
{\fonttbl{\f0 Helvetica;}}
{\colortbl;\red255\green0\blue0;}
\f0\fs32 normal {\b bold} {\i italic} \cf1 red\cf0\par
\u20320?\u22909?
}]],
["public.html"] = [[<p>normal <b>bold</b> <i>italic</i> <span style="color:red">red</span><br>你好</p>]],
}, {
local_only = true,
expiration_date = os.time() + 3600,
})

Nota: el código anterior utiliza la función screen.image, que no pertenece a este capítulo.