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。