4

Вопрос по applescript, macos – Скопируйте чистый текст из буфера обмена, используя AppleScript

ситуация

  • Откройте документ Word.
  • Скопируйте форматированный текст из документа в буфер обмена.
  • Вставьте его в экземплярCKEditor

CKEditor получил пахнущий M-стиль HTML с множеством бесполезных HTML-элементов и стилей. Даже удаление форматирования с помощью CKEditorФункция s не отображает чистый текст.

Желаемое решение

Кто-нибудь может предоставить AppleScript, который удаляет стилизованную / HTML-строку ивставляет часть чистого текста обратно в буфер обмена.

А плюсом будет краткая подсказка, какпривязать AppleScript к функциональной клавише.

5ответов

0

Это сработало для меня:

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

НОТА: Когда вы нажимаете кнопку «Скомпилировать»,\n будет преобразован вбуквальный перевод строки, Это отлично. Это все еще работает. Я пытался с помощьюecho -n но это было печать-n на выходе.

0

echo -n Безразлично»не работает, потому что AppleScriptdo shell script команда использует sh, а не bash и sh 'с эхо это встроенный, который нене принимаю варианты. Укажите / bin / echo явно, и он будет работать:

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

Это поместит текстовую копию my_string в буфер обмена.

3

Старый вопрос, но я обнаружил, что существующие ответы не полностью преобразовывают текст в обычный. Кажется, они устанавливают шрифт Helvetica и размер 12.

Тем не менее, вы можете трубуpbcopy и pbpaste действительно удалить форматирование.

В Терминале:

$ pbpaste | pbcopy

Как AppleScript:

do shell script "pbpaste | pbcopy"

Тот'сидеть.

2

установить буфер обмена, как определено в Стандартных дополнениях. Ты нене нужно заключать его в приложение для передачи сообщений "Слово" ...

set the clipboard to (the clipboard as text)
10

Ты нене показать, как тыповторное копирование и вставка в данный момент. Должно быть возможно использовать что-то вроде этого, хотя:

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

Это позволит получить версию данных буфера обмена в виде простого текста, а затем заменить содержимое буфера обмена (которое содержит HTML) на простой текст.

Чтобы связать сценарий с функциональной клавишей, я рекомендую использовать Automator для создания службы, выполняющей ваш сценарий, а затем использовать панель «Клавиатура» в Системных настройках для назначения клавиши. На самом деле, я подозреваю, что вся эта задача была бы лучше в качестве службы, которая получает текст в качестве ввода, а не пытается явно извлечь его из буфера обмена.

RelatedQuestions