按照man
页pbpaste
的,获取RTF数据从Mac OS X的纸板(剪贴板)
-Prefer {txt | rtf | ps}
tells pbpaste what type of data to look for in the pasteboard
first. As stated above, pbpaste normally looks first for plain
text data; however, by specifying -Prefer ps you can tell
pbpaste to look first for Encapsulated PostScript. If you spec-
ify -Prefer rtf, pbpaste looks first for Rich Text format. In
any case, pbpaste looks for the other formats if the preferred
one is not found. The txt option replaces the deprecated ascii
option, which continues to function as before. Both indicate a
preference for plain text.
但是(在我和10.6雪豹至少经验),pbpaste -Prefer rtf
永远不会放弃的RTF数据,即使它存在于粘贴板上。是否有任何其他简单的方法来获取任何准备好粘贴的RTF文本?
我试过AppleScript,但osascript -e 'the clipboard as «class RTF »'
给出了响应«data RTF 7B
吨的十六进制编码垃圾7D»
。 AppleScript可以将这个hexdata转换成我可以玩的文本吗?
聪明的做法。稍微简化一下就是用''RTF''替换''RTF类''(注意在任何情况下在结束分隔符之前所需的尾部空格):'osascript -e'剪贴板为“RTF” perl -ne'print chr foreach unpack(“C *”,pack(“H *”,substr($ _,11,-3)))'' - 可以工作(至少)10.8+。另请注意 - 按设计 - 如果剪贴板上没有RTF数据,则AppleScript命令将报告错误。 – mklement0 2014-06-10 03:18:53
我已经将这个非常方便的别名添加到我的'.profile'中:''alias pbpaste-rtf =“osascript -e'剪贴板为\”RTF \“'| perl -ne'print chr foreach unpack(\”C * \“,pack(\”H * \“,substr(\ $ _,11,-3)))'”'。 – 2016-06-14 19:15:08