K J*_*K J 8 html macos applescript rtf
我知道如何将纯文本复制到剪贴板:
oascript -e 'set the clipboard to "plain text"'
Run Code Online (Sandbox Code Playgroud)
但问题是如何将html内容复制到剪贴板?例如,如何将以下html内容复制到剪贴板:
<b>bold text</b>
Run Code Online (Sandbox Code Playgroud)
当我将它粘贴到TextEdit中时,我得到粗体文本?
我在这里先向您的帮助表示感谢!
我找到了一个中间解决方案:
echo "<b>bold text</b>" | textutil -stdin -stdout -format html -convert rtf | pbcopy
Run Code Online (Sandbox Code Playgroud)
到目前为止这很好,但不幸的是我发现它不适用于图像标记:
echo "<img src=\"https://www.google.com/images/srpr/logo3w.png\">" | textutil -stdin -stdout -format html -convert rtf | pbcopy
Run Code Online (Sandbox Code Playgroud)
这不能完成我想要的工作,所以有人知道原因吗?
谢谢!
我找到了一个有效的解决方案并将其发布在下面:)
K J*_*K J 17
我找到了一个解决方案,其想法是直接使用HTML类而不是RTF类.(TextEdit或Web编辑器可以处理此HTML类以及RTF类数据)
您所要做的就是将您的html代码转换为原始的十六进制代码.
完整的代码如下:
hex=`echo -n "your html code here" | hexdump -ve '1/1 "%.2x"'`
osascript -e "set the clipboard to «data HTML${hex}»"
Run Code Online (Sandbox Code Playgroud)
当然,你可以将它们组合成一个句子.
希望这有助于任何感兴趣的人.:)
如果输入的 HTML 太大,@kj 的解决方案将不起作用,您可能会遇到如下错误消息:
\n\n/usr/bin/osascript: Argument list too long\nRun Code Online (Sandbox Code Playgroud)\n\n我对 @kj\ 的解决方案进行了一些改进,将其转换为可执行文件并通过管道处理数据。我希望它也有帮助。
\n\n〜/ bin / pbcopyhtml:
\n\n/usr/bin/osascript: Argument list too long\nRun Code Online (Sandbox Code Playgroud)\n\n$ printf \'# title\\n\\n- list\\n- list\' | cmark | ~/bin/pbcopyhtml\n$ osascript -e \'the clipboard as record\'\n\xc2\xabclass HTML\xc2\xbb:\xc2\xabdata HTML3C68313E7469746C653C2F68313E0A3C756C3E0A3C6C693E6C6973743C2F6C693E0A3C6C693E6C6973743C2F6C693E0A3C2F756C3E0A\xc2\xbb\nRun Code Online (Sandbox Code Playgroud)\n\n$ printf \'# title\\n\\n- list\\n- list\' | cmark > sample.html\n$ ~/bin/pbcopyhtml sample.html\n$ osascript -e \'the clipboard as record\'\n\xc2\xabclass HTML\xc2\xbb:\xc2\xabdata HTML3C68313E7469746C653C2F68313E0A3C756C3E0A3C6C693E6C6973743C2F6C693E0A3C6C693E6C6973743C2F6C693E0A3C2F756C3E0A\xc2\xbb\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
3758 次 |
| 最近记录: |