Заполните фон файла презентации с помощью командной строки
У меня есть несколько JPEG-файлов, которые я хочу использовать в качестве фоновых изображений в презентации libreOffice Impress. Но я не люблю добавлять их по слайдам.
Есть ли способ использовать командную строку (Linux), чтобы добавить фотографии в файл презентации?
Что-то вроде:
for i in *.jpg; do <add a new slide with that jpg as background to the presentation file>; done
1 ответ
В LibreOffice перейдите в Инструменты -> Макросы -> Организовать макросы -> LibreOffice Basic и добавьте следующий макрос в Module1
,
Sub InsertSlideWithBackgroundImage(imageFilePath)
imageFileURL = ConvertToURL(imageFilePath)
oDoc = ThisComponent
oBackground = oDoc.createInstance("com.sun.star.drawing.Background")
oBitmaps = ThisComponent.createInstance( "com.sun.star.drawing.BitmapTable")
iBitmap = 1
Do
sBitmapName = "bk" & iBitmap
iBitmap = iBitmap + 1
Loop Until Not oBitmaps.hasByName(sBitmapName)
oBitmaps.insertByName(sBitmapName, imageFileURL)
oBackground.FillStyle = com.sun.star.drawing.FillStyle.BITMAP
oBackground.FillBitmapURL = oBitmaps.getByName(sBitmapName)
oSlideList = oDoc.getDrawPages()
oSlide = oSlideList.insertNewByIndex(oSlideList.Count)
oSlide.Background = oBackground
End Sub
Затем добавьте изображение из командной строки, как это.
loimpress "file.odp" "macro:///Standard.Module1.InsertSlideWithBackgroundImage(image.jpg)"
Или запустить python3
из командной строки и взаимодействовать с прослушивающим экземпляром LibreOffice. Этот подход объясняется по адресу http://christopher5106.github.io/office/2015/12/06/openoffice-libreoffice-automate-your-office-tasks-with-python-macros.html.
РЕДАКТИРОВАТЬ:
Чтобы запустить его напрямую, передайте путь к файлу изображения.
Sub Test1
Call InsertSlideWithBackgroundImage("/path/to/your_image.jpg")
End Sub