使用AppleScript从剪贴板复制纯文本

时间:2013-03-03 21:05:29

标签: macos applescript

场合

  • 打开Word文档。
  • 将文档内部的一些格式化文本复制到剪贴板。
  • 将其粘贴到CKEditor
  • 的实例中

CKEditor收到了M $风格的HTML,其中包含大量无用的HTML元素和样式。即使使用CKEditor的功能删除格式也不会呈现纯文本。

所需解决方案

是否有人提供AppleScript,它会删除样式/ HTML字符串,将纯文本部分粘贴回剪贴板

加号是一个简短的提示,如何将AppleScript绑定到功能键

5 个答案:

答案 0 :(得分:11)

您没有显示当前如何复制和粘贴。不过应该可以使用这样的东西:

tell application "Word"
    set theData to (the clipboard as text)
    set the clipboard to theData
end tell

这将获得剪贴板数据的纯文本版本,然后用纯文本替换剪贴板内容(包含HTML)。

要将脚本绑定到功能键,我建议使用Automator创建运行脚本的服务,然后使用“系统偏好设置”的“键盘”面板指定密钥。实际上,我怀疑整个任务作为一种服务接收文本作为输入而不是试图从剪贴板中显式获取它会更好。

答案 1 :(得分:4)

老问题,但我发现现有的答案并没有完全将文本转换为普通文本。他们似乎将字体设置为Helvetica,大小设置为12。

但是,您可以管道pbpastepbcopy来真正删除格式。

在终端:

$ pbpaste | pbcopy

作为AppleScript:

do shell script "pbpaste | pbcopy"

就是这样。

答案 2 :(得分:2)

将剪贴板设置为标准添加中定义的。您不需要将它包含在tell应用程序“Word”中......

set the clipboard to (the clipboard as text)

答案 3 :(得分:0)

这对我有用:

do shell script "echo " & total_paying & " | tr -d \"\n\" | pbcopy"

注意:当您点击编译时,\n将转换为文字换行符。这可以。它仍然有效。我尝试使用echo -n,但它在输出中打印了-n

答案 4 :(得分:0)

echo -n不起作用,因为AppleScript的do shell script命令使用sh而不是bash,而sh的echo是不接受选项的内置命令。明确指定/ bin / echo,它将起作用:

do shell script "/bin/echo -n " & quoted form of my_string & " | pbcopy"

这会将my_string的纯文本副本放在剪贴板上。