Как удалить все изображения в документе в Устройстве записи LibreOffice?

Ubuntu 12.04

Я хочу удалить все изображения из документа в Устройстве записи LibreOffice. Мой документ содержит ~ 350 изображений. Существует ли способ удалить их в массе, а не один за другим? Я пытался снять флажок с Инструментами> Опции> Устройство записи LibreOffice> Представление> Дисплей> "Графика и объекты". Но заполнители все еще видимы.

Править: Я знаю о сохранении страницы как файл простого текста, Но мне нужно форматирование в моем документе.

10
задан 23 February 2013 в 05:11

3 ответа

Можно также использовать короткий макрос из LibreOffice для удаления всех изображений в документе:

Sub RemoveImages

   Dim oDoc as Object
   oDoc = ThisComponent

   Dim oGraphics as Object
   oGraphics = oDoc.getGraphicObjects()

   Dim oImg as Object

   For Each oImg in oGraphics
       oDoc.getText().removeTextContent(oImg)
   Next 

End Sub

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

Создание макросов

LibreOffice обеспечивает язык Basic, а также в IDE, чтобы создать, отладить, сохранить, и выполнить код.

Для открытия макро-диалогового окна используйте Высокий звук + F11 или, из меню, Инструменты>, Макросы> Организуют Макросы> Основной LibreOffice

Код помещается в модули, которые организованы в библиотеки. Можно создать собственное, но в большинстве целей можно пользоваться встроенной библиотекой MyMacros и встроенным Module1.

После того как макро-диалоговое окно открыто, выделите Module1 и нажмите Edit. Это открывает IDE.

Код организован в Нижние индексы и Функции. При заимствовании у VBA Функции используются для возвращения значения, и Нижние индексы не возвращают значение. Можно определить собственные нижние индексы и функции где угодно ниже Основного. Таким образом для использования этого кода для удаления изображений Вы просто вставляете его в модуле.

Использование макросов

Можно выполнить код прямо от IDE путем нажатия где угодно в Sub, Вы хотите выполнить и нажать F5. (Функции, так как они возвращают значение, должны быть вызваны от Замены), можно также использовать диалоговые кнопки или меню для выполнения кода. IDE включает интегрированный отладчик, который крайне важен при написании нового кода.

В следующий раз, когда Вы открываете макро-диалоговое окно, Вы будете видеть sub, перечисленный как макрос, и это может затем быть выполнено, не открытие IDE. Отдельные макросы могут также быть присвоены объектам панели инструментов или меню.

Примечание: Этот макрос будет работать на том, что активный документ. При выполнении макроса из меню или макро-диалогового окна, это, как может предполагаться, документ, где Вы просто нажали кнопку; но при использовании IDE для создания работайте, или отладьте код, удостоверьтесь, что Вы не сделали другой документ активным документом.

Основной LibreOffice

Основной LibreOffice очень похож на VBA, но то подобие может также обманывать, так как объектная модель полностью отличается, и синтаксис также имеет много различий.

Например, в VBA, после того как у Вас есть ссылка на объект изображения, объект изображения имел бы удалить метод. Здесь, объекты имеют или наследовали очень немного методов. Для удаления объекта изображения Вы используете элемент документа со структурой и синтаксисом, очень похожим на DOM на базе браузера.

Справка LibreOffice имеет ссылки для начала работы с Основным LibreOffice.

11
ответ дан 23 November 2019 в 04:26

Я предполагаю, что текст документа отформатирован и что сохранение как только для текста не идеально. В этом случае можно было проявить несколько длинноватый подход:

  • Создайте временную папку.

  • Откройте документ в LibreOffice обычно.

  • Выбрать Save As и здесь выберите HTML Document (Writer) (.html) как формат.

    • Кроме того, укажите временную папку для места назначения и дайте предложенному файлу HTML подходящее имя. Согласитесь на Save as html и не odt формат на следующем экране.
  • Близкий LibreOffice.

  • Откройте временную папку, созданную выше. Необходимо видеть один файл HTML и набор изображений.

    • Удалите изображения, если они не нужны далее.
  • Затем откройтесь .html файл в соответствующем текстовом редакторе для разделения тегов, которые были бы иначе, если оставлено внутри, разрывы причины в документе.

    • Например, в Geany, я использовал <IMG SRC="[^>]+> как поисковое выражение и ничто в "замене" полем.

geany

  • Сохраните .html файл. Теперь, при просмотре в браузере или даже в LibreOffice не будет никаких изображений, никаких заполнителей, просто форматированный текст.

Править: Вместо того, чтобы использовать основанный на GUI текстовый редактор, принимая каждый находится в соответствующей папке и этом cli.html имя, данное при сохранении html в LibreOffice можно было просто использовать командную строку этот путь:

perl -p -i.bak -e 's/<IMG[^>]+>//g' cli.html

Файл резервной копии, cli.html.bak, создается на всякий случай...

5
ответ дан 23 November 2019 в 04:26

Вы можете выбрать одно изображение в документе с помощью мыши, затем нажать Ctrl + A для выбора всех изображений в текущем листе и Del для их удаления .

2
ответ дан 22 May 2020 в 09:16

Другие вопросы по тегам:

Похожие вопросы: