Ubuntu 12.04
Я хочу удалить все изображения из документа в LibreOffice Writer. Мой документ содержит ~ 350 изображений. Есть ли способ их массового удаления, а не один за другим? Я пытался снять отметку Инструменты> Параметры> LibreOffice Writer> Вид> Показать> «Графика и объекты». Но заполнители все еще видны.
Изменить: я знаю о сохранении страницы в виде простого текстового файла, но мне нужно форматирование в моем документе.
libreoffice
Chella
источник
источник
Ответы:
Вы также можете использовать короткий макрос из LibreOffice для удаления всех изображений в документе:
Этот пример также можно изменить, чтобы изменить свойства изображений (например, сделать их все одинакового размера), а также обработать объекты формы и т. Д.
Создание макросов
LibreOffice предоставляет базовый язык, а также IDE для создания, отладки, хранения и запуска кода.
Чтобы открыть диалоговое окно макроса, используйте Alt+ F11или в меню Инструменты > Макросы > Упорядочить макросы > LibreOffice Basic.
Код размещается в модулях , которые организованы в библиотеки . Вы можете создать свой собственный, но для большинства целей вы можете использовать встроенную библиотеку MyMacros и встроенный модуль Module1 .
Как только диалоговое окно макроса открыто, выделите Module1 и нажмите Edit . Это открывает IDE.
Код организован в подпрограммы и функции. Заимствуя из VBA, функции используются для возврата значения, а подпрограммы не возвращают значение. Вы можете определить свои собственные сабвуферы и функции в любом месте ниже Main. Чтобы использовать этот код для удаления изображений, просто вставьте его в модуль.
Использование макросов
Вы можете запустить код прямо из IDE, щелкнув в любом месте внутри Sub, который вы хотите запустить, и нажмите F5. (Функции, так как они возвращают значение, должны вызываться из Sub.) Вы также можете использовать диалоговые кнопки или меню для запуска кода. IDE включает в себя встроенный отладчик, который имеет решающее значение при написании нового кода.
В следующий раз, когда вы откроете диалоговое окно макроса, вы увидите подпрограмму, перечисленную как макрос, и ее можно будет запустить без открытия IDE. Отдельные макросы также могут быть назначены элементам меню или панели инструментов.
Примечание: этот макрос будет работать на любом активном документе. При запуске макроса из меню или диалогового окна макроса это может быть документ, в котором вы только что нажали кнопку; но при использовании IDE для создания, запуска или отладки кода убедитесь, что вы не сделали другой документ активным документом.
LibreOffice Basic
LibreOffice Basic очень похож на VBA, но это сходство также может быть обманчивым, поскольку объектная модель совершенно другая и синтаксис также имеет много различий.
Например, в VBA, если у вас есть ссылка на объект изображения, у объекта изображения будет метод удаления. Здесь объекты имеют или наследуют очень мало методов. Чтобы удалить объект изображения, вы используете элемент документа со структурой и синтаксисом, очень похожим на DOM на основе браузера.
Справка LibreOffice содержит ссылки для начала работы с LibreOffice Basic.
источник
Я предполагаю, что текст документа отформатирован, и сохранение в виде только текста не является идеальным. В этом случае можно использовать несколько более длинный подход:
Создайте временную папку.
Откройте документ в LibreOffice как обычно.
Выберите
Save As
и выберите здесьHTML Document (Writer) (.html)
в качестве формата.Save as html
а не формат odt на следующем экране.Закройте LibreOffice.
Откройте временную папку, созданную выше. Вы должны увидеть один HTML-файл и кучу изображений.
Затем откройте
.html
файл в соответствующем текстовом редакторе, чтобы удалить теги, которые в противном случае, если их оставить, могут вызвать пропуски в документе.<IMG SRC="[^>]+>
в качестве поискового выражения и ничего в поле «заменить на».Редактировать: вместо использования текстового редактора на основе графического интерфейса, предполагая, что он находится в соответствующей папке, и это
cli.html
имя дается при сохраненииhtml
в LibreOffice, можно просто использовать командную строку следующим образом:Файл резервной копии,
cli.html.bak
создается на всякий случай ...источник