Swift 将带有图像的富文本复制到NSPasteboard并粘贴到Word中

Swift 将带有图像的富文本复制到NSPasteboard并粘贴到Word中,swift,macos,Swift,Macos,我想按代码将文本和图像设置为NSPasteboard,这样我就可以粘贴到Microsoft Word中 现在,我想到一种方法是组织一个RTF对象,并通过以下方式进行设置: let board = NSPasteboard.general board.clearContents() board.setData(data, forType: .rtf) 因此,我通过下载一个RTF文件进行测试,过程如下: func test() { let url = Bundle.main.url(for

我想按代码将文本和图像设置为
NSPasteboard
,这样我就可以粘贴到Microsoft Word中

现在,我想到一种方法是组织一个RTF对象,并通过以下方式进行设置:

let board = NSPasteboard.general
board.clearContents()
board.setData(data, forType: .rtf)
因此,我通过下载一个RTF文件进行测试,过程如下:

func test() {
    let url = Bundle.main.url(forResource: "cat", withExtension: "rtf")

    if url != nil {
        let data = try? Data.init(contentsOf: url!)

        if (data == nil) {
            print("data is null")
            return
        }
        print("data", data)

        let board = NSPasteboard.general
        board.clearContents()

        // still rtf image is losted.
        let rst = board.setData(data, forType: .rtf)
        if (!rst) {
            print("setData failed")
        }
    }
}
它部分工作,但图像丢失。只粘贴了文本

如何解决此问题。或任何其他方法(将图像和文本复制到
NSPasteboard

我搜索了一些链接:


数据人有多大?顺便说一下,正确的格式是rtfd。数据非常大,我忘记了具体值,但它包含图像数据。明天我会试试rtfd。