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

问题描述 投票:5回答:5

情况

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

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

期望的解决方案

任何人都可以提供AppleScript,它会删除样式/ HTML字符串并将纯文本部分粘贴回剪贴板。

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

macos applescript
5个回答
11
投票

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

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

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

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


4
投票

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

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

在终端:

$ pbpaste | pbcopy

作为AppleScript:

do shell script "pbpaste | pbcopy"

而已。


2
投票

设置剪贴板是在标准添加中定义的。你不需要将它包含在一个告诉应用程序“Word”中......

set the clipboard to (the clipboard as text)

0
投票

这对我有用:

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

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


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的纯文本副本放在剪贴板上。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.