본문으로 건너뛰기

클립보드에 내용 쓰기 (pasteboard.write)

선언

pasteboard.write(데이터 [, 범용 형식 식별자 ])
pasteboard.write(클립보드 항목 [, 옵션 ])
pasteboard.write(클립보드 항목 목록 [, 옵션 ])

매개변수

  • 데이터
    문자열. 클립보드에 쓸 내용입니다.
    테이블. 키가 범용 형식 식별자이고 값이 문자열 데이터인 클립보드 항목입니다(20260428 버전부터 지원).
    테이블. 각 항목이 클립보드 항목인 클립보드 항목 목록입니다(20260428 버전부터 지원).

  • 범용 형식 식별자
    문자열, 선택 사항. Uniform Type Identifiers이며 기본값은 "public.utf8-plain-text"입니다.

  • 옵션 테이블, 선택 사항(20260428 버전부터 지원).
    local_only: 불리언. 로컬 기기에만 저장하며 iOS 10 이상에서 지원합니다.
    expiration_date: 숫자. 초 단위 Unix 타임스탬프이며 iOS 10 이상에서 지원합니다.

    클립보드 항목 구조
    {
    ["public.utf8-plain-text"] = "普通文本",
    ["public.rtf"] = "RTF 数据",
    ["public.html"] = "HTML 数据",
    ["public.png"] = "PNG 二进制数据",
    ...
    }

반환값

  • 성공 여부
    불리언. 쓰기에 성공하면 true, 그렇지 않으면 false를 반환합니다.

설명

시스템 클립보드에 내용을 씁니다.
키워드: 클립보드 쓰기, 복사 버퍼 쓰기, 붙여넣기 버퍼 쓰기
클립보드 항목이나 클립보드 항목 목록을 전달하면 같은 클립보드 항목에 여러 형식의 표현을 씁니다. iOS 9에서는 옵션 인수를 무시합니다.

예제

pasteboard.write("hello") -- 텍스트 "hello"를 클립보드에 씁니다
--
pasteboard.write(screen.image():png_data(), 'public.png') -- 현재 화면의 스크린샷을 클립보드에 씁니다
--
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") -- RTF 서식 있는 텍스트를 클립보드에 씁니다

-- 20260428 이상 버전에서는 같은 클립보드 항목에 여러 형식을 쓸 수 있습니다
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,
})

참고: 위 코드에서는 이 장에서 설명하지 않는 함수인 screen.image를 사용합니다.