Вопрос или проблема
Google Docs использует подход «веб-буфера обмена» для вырезания и вставки, который работает очень хорошо, если цель вставки — другой документ Google. Однако я не знаю, как легко скопировать изображение из веб-буфера обмена Google в локальный буфер обмена, чтобы вставить его в локальный документ.
На данный момент я нашел два неуклюжих способа сделать это:
- Файл->Скачать как файл в формате Microsoft Office, открыть файл, скопировать изображение в буфер обмена
- Захват области экрана в буфер обмена с помощью command+control+shift+4
Оба имеют очевидные недостатки в плане рабочего процесса или качества. Есть ли лучший способ?
У меня та же проблема, мой обходной путь:
Используя Chrome:
- Открыть инструменты разработчика
- Кликнуть на Application
- Кликнуть на Frames -> Top -> Images
Среди многих иконок этот список содержит изображение, встроенное в документ Google, пройдите по списку с помощью стрелки вниз, и изображение появится справа, это изображение можно скопировать правым кликом – копирование.
Используйте shift + правый клик. Затем вы можете скачать изображения.
Примечание: Сначала нужно дважды кликнуть на изображение, чтобы его выбрать.
Если у вас много файлов, используйте Файл -> Скачать как -> Веб-страница (.html в архиве)
Затем вы можете распаковать архив на рабочем столе и использовать файлы.
Иначе нажмите CTRL + A (выделяет весь документ/страницу)
Откройте Microsoft Word (если на Windows/Mac)
Нажмите CTRL + V (или правый клик – вставить), чтобы вставить содержимое буфера в Word
Кликните правой кнопкой на изображение в Word и выберите “Сохранить как изображение”
(требуется Office 2013, если использовать Powerpoint, то работает и в 2010)
Или, как упоминал warrax, вы можете использовать инструменты разработчика Chrome (F12 или CTRL + J)
Обновлено:
- Откройте инструменты разработчика Chrome
- Выберите вкладку Sources
- Разверните содержимое для (без домена)
- Найдите записи в списке, начинающиеся с
filesystem:https://docs.google.com...
. Клик по одной из них отобразит ее содержимое. Это форма URL, которая используется для ссылок на изображения в вашем документе. - Когда найдете нужную, кликните по ней правой кнопкой и выберите Открыть в новой вкладке. В открывшейся вкладке вы можете взаимодействовать с изображением так же, как с любым другим изображением в браузере.
Предыдущий ответ:
Тройной клик на изображение (или Выделить все), чтобы выбрать его, затем можно кликнуть правой кнопкой и “Копировать изображение”. Затем вы можете вставить его, куда захотите.
ИЗМЕНЕНИЕ
Ключевое — получить контекстное меню браузера вместо контекстного меню Google Docs.
Я тоже искал легкий способ это сделать. Тройной клик не работает.
Лучший метод, который я нашел, — вставить любое изображение из веб-буфера обмена Google в сообщение GMail и отправить его себе. После этого вы можете перетащить изображение из сообщения туда, куда хотите.
Сейчас, в версии Chrome 52.0.2743.116 m, ни один из перечисленных ответов не работает. (Не знаю, работает ли плагин, но не хочу устанавливать больше плагинов, чтобы проверить).
Что я смог сделать, так это использовать инструменты разработчика (большинство, если не все современные браузеры теперь это имеют).
- Используйте выбор элемента на странице и выберите изображение, которое хотите скопировать/скачать. Не выбирайте изображение в Google документе, иначе вы выберете наложение/контейнер вместо изображения.
- Вы должны увидеть тег
<image>
с атрибутом с URL. На момент написания этого атрибут называетсяxlink:href
, но может измениться в будущем. - Скопируйте ссылку и откройте ее в другой вкладке/окне того же браузера. Это может быть очевидно, но… пожмем плечами.
- Кликните правой кнопкой на отображенное изображение и выберите Копировать/Сохранить как или что-то еще.
Это должно работать для всех браузеров, у которых есть инструменты разработчика.
CLI Однострочник
Я бы не назвал это простым, но это своего рода забавный хак. Это решение работает на Linux и требует xclip
, xmllint
и curl
. Я полагаю, что оно также должно работать на Mac, используя команды pbcopy
и pbpaste
вместо xclip
, но я этого не пробовал.
Идея заключается в том, чтобы скопировать из Google Docs как обычно (Ctrl+c или правый клик и Копировать на изображении), а затем выполнить однострочную команду CLI, чтобы «исправить» буфер обмена так, чтобы он содержал фактическое изображение.
Фон
При копировании изображения из Google Docs в Chrome буфер обмена содержит следующие типы данных:
$ xclip -selection clipboard -o -t TARGETS
TIMESTAMP
TARGETS
SAVE_TARGETS
MULTIPLE
chromium/x-web-custom-data
text/html
На Wayland используйте:
wl-paste --list-types
Хорошо, у нас есть немного HTML там, и, исследуя это, у нас есть тег img
с URL источника. Так что нам просто нужно извлечь URL из HTML, скачать его через curl и отправить этот вывод обратно в буфер обмена!
Решение
Вот оно:
curl \
$(xclip -selection clipboard -o -t text/html \
| xmllint --html -xpath "string(//img/@src)" -) -o - \
| xclip -selection clipboard -target image/png
или на Wayland:
curl \
$(wl-paste -n -t text/html \
| xmllint --html -xpath "string(//img/@src)" -) -o - \
| wl-copy -t image/png
Если вы используете это часто, я рекомендую положить это в небольшой скрипт или функцию оболочки/псевдоним, чтобы вы могли просто копировать в документах, а затем выполнять clipimagefromgdoc
или что-то в этом духе.
Объяснение
Разбивая это на части:
- Команда
xclip -selection clipboard -o -t text/html
(илиwl-paste -n -t text/html
) извлекает HTML из буфера обмена и записывает его в стандартный вывод. - Этот вывод HTML передается через
xmllint --html -xpath "string(/html/body//img/@src)" -
для извлечения URL в стандартный вывод, который указывает на сервер содержимого Google Docs. - URL предоставляется в качестве параметра для
curl
, который скачивает содержимое и записывает его в стандартный вывод. - Загруженные данные изображения передаются обратно в буфер обмена в виде
image/png
черезxclip -selection clipboard -target image/png
илиwl-copy -t image/png
.
Обратите внимание, что здесь на шаге 4 мы предполагаем, что изображение — это PNG, что кажется справедливым предположением для изображений, хранящихся в Google Docs. Если это предположение не подтверждается, возможны вариации на эту тему, в которых мы буферизируем вывод curl во временный файл, исследуем его через file
, а затем устанавливаем цель буфера обмена соответствующим образом, что можно легко заскриптовать.
Это сводит меня с ума. Однако я нашел быстрое решение с использованием приложения Google Keep, по крайней мере на настольном компьютере.
Кликните правой кнопкой на изображение в Документе, выберите
Откроется боковая панель для Keep, затем вставьте его в новую «заметку» (мне пришлось сделать это дважды, чтобы это сработало, но это первый раз, когда я пробовал). Вы можете затем кликнуть правой кнопкой на изображение в заметке Keep и выбрать “открыть изображение в новой вкладке” (я перефразирую, поскольку использую Chrome), в этот момент вы можете кликнуть правой кнопкой на изображение в новой вкладке и скопировать-вставить куда угодно.
Даже если вы никогда не использовали Keep, это отлично, попробуйте, и это решение должно быть таким же легким для вас, как и для меня. Конечно, в Docs должно быть проще копировать-вставлять куда угодно, по крайней мере с меньшим количеством шагов, чем это, но я не знаю, как заставить Google быть разумным в этом отношении для нас.
Это работает для меня в текущей версии FireFox:
Двойной клик
-> ИзображениеShift
+Правый клик
- Используйте Контекстное Меню для Сохранения, Копирования или Открытия в новой Вкладке
В качестве примечания, кажется, что вы не можете сделать ничего else между шагами 1 & 2, так что если сделаете, просто снимите выделение с изображения (кликнув вне) & сделайте это снова, должно сработать.
Работает на macOS + Chrome (101.0.4951.41).
- Наведите курсор на изображение.
- Shift + Правый клик
Копировать изображение
из системного контекстного меню.
Трюк заключается в том, чтобы НЕ выделять изображение с помощью селектора в документе (без синей рамки). Если появляется синяя рамка, Копировать изображение
не появится в системном контекстном меню.
Если вы используете Chrome, вы можете установить дополнение Google Docs, а затем вырезать и вставлять из документов в настольное приложение, например, Word — при копировании/вырезании из приложенийского документа вы должны использовать Ctrl C или X. В первый раз, когда вы попробуете это сделать в Chrome, должно спросить, хотите ли вы установить дополнение.
Трюк с тройным кликом больше не доступен. Скопировать в Photoshop не работает.
Однако выбрать изображение и вставить его в текстовый процессор работает, и оттуда вы можете скопировать и вставить изображение в Photoshop.
Обратите внимание, что если изображение уменьшено в вашем Google документе, оно сохранит свой оригинальный размер, как только вы скопируете и вставите его в текстовый процессор, но не сохранит его, как только скопируете и вставите из текстового процессора в Photoshop. Итак, вы должны растянуть его до большего размера в текстовом процессоре перед копированием и вставкой в Photoshop.
У меня была точно такая же проблема — я хотел скопировать изображение из Google Docs в Photoshop. Две вещи, которые это позволили:
Не используйте Chrome. Я открыл документ в Firefox, тем самым отключив некоторые из умных/раздражающих функций Chrome.
Выйдите из Gmail/Google. Это отключает все функции редактирования в Google Docs/Drive, так что вы возвращаетесь к командам копирования/вставки браузера.
Затем вы можете просто кликнуть правой кнопкой и скопировать изображение, как это делается на любой другой HTML-странице. Теоретически это должно работать на любой ОС. Я сделал это на Mac.
Один трюк — Напечатать -> Открыть как PDF для предпросмотра, затем дважды кликните по изображениям в предварительном просмотре PDF для выбора и копирования.
.
Ответ или решение
Копирование изображений из Google Docs на локальный буфер обмена кажется простой задачей, однако Google использует так называемый подход "веб-буфера обмена" для операций вырезания и вставки. Это великолепно работает при переносе данных между документами Google, но часто вызывает затруднения при необходимости переноса изображений на локальные документы. Рассмотрим возможные методы решения этой задачи, подходы и их обоснования.
Теория
Google Docs интегрируется с различными инструментами для взаимодействия данных внутри web-приложений, и многие функции браузера заменяются собственными решениями Google. Это может вызвать ограничения, когда речь идет о копировании информации в другие, не-Google среды. Основное затруднение заключается в том, что стандартные функции браузера заменены специфическими возможностями Google, ориентированными на работу в среде Google.
Примеры решений
-
Использование Google Docs через веб-браузер:
- Один из подходов заключается в использовании инструментов для разработчиков браузера (например, Chrome DevTools). Откройте DevTools, перейдите на вкладку "Application", затем "Frames" -> "Top" -> "Images". Здесь вы найдете список изображений, используемых документом. Нажмите на изображение, чтобы увидеть его в правой панели, откуда его можно скопировать с помощью правого клика мыши.
- Для простоты в некоторых случаях помогает сочетание клавиш: "shift + правый клик", чтобы скачать изображения непосредственно на локальный компьютер.
-
Сохранение изображения через форматирование документа:
- Для этого откройте меню Файл и выберите "Скачать как" -> "Веб-страница (.html, архивированная)". Затем извлеките архив и откройте содержащиеся файлы, где изображения будут представлены отдельными файлами.
-
Перемещение изображения через промежуточные программы:
- Вы можете скопировать все содержание документа через Ctrl + A и вставить в Microsoft Word. Это позволит вам сохранить изображение из документа Word, используя функцию "Сохранить как картинку".
- Аналогичным образом, вы можете использовать Google Keep для сохранения изображения. Вставьте изображение в заметку, а затем скачайте или откройте изображение в новой вкладке для дальнейшего сохранения.
Применение
Решение проблемы напрямую зависит от ваших предпочтений и рабочего процесса. Если ваша работа постоянно связана с манипуляцией изображениями из Google Docs, наиболее оптимальным может оказаться автоматизация процесса через скрипты на Вашей операционной системе, позволяющие практически мгновенно извлекать изображения для использования в локальном окружении, например, с использованием командной строки в Linux и инструментов вроде xclip
.
Такой функционал может быть завернут в скрипт, который бы автоматически обрабатывал контент буфера обмена, извлекая изображение и синхронизируя его с нужными программами — что будет полезно для пользователей, которые часто работают с графическим контентом и требуют надежного и быстрого способа извлечения изображений из документов.
Заключение
Проблема копирования изображений из Google Docs на локальный буфер обмена может быть решена с помощью множества разных подходов. Ключом является понимание того, как технологии Google взаимодействуют с вашими локальными системными ресурсами, и как можно использовать сторонние решения для обхода этих ограничений. Выбор метода во многом зависит от вашего рабочего процесса и используемого оборудования, однако предлагаемые решения могут существенно улучшить вашу производительность, автоматизируя рутинные задачи.