.
Hallo liebe Leute,
ich brauch Hilfe bei der Programmierung eines Makros in Python.
Das Makro hat bereits einige der gewünschten Funktionen:
* die Präsentation wird abgespeichert
* ich lese Informationen aus Textfeldern, welche auf Folie 'Control' platziert sind
* aufgrund der o.a. Informationen durchsuche ich ein bestimmtes Verzeichnis nach Grafikdateien/ Images, deren Name mit <search pattern> beginnt und mit <file extension> endet
* entsprechend der Anzahl an gefundenen Grafikdateien wird
.. a) die Folie mit dem Index 1 kopiert und in die Präsentation eingefügt ... ODER
.. b) die letzte Folie/ die Folie mit dem höchsten Index gelöscht
* die Präsentation wird abgespeichert
* die Präsentation wird als PDF Datei exportiert und in ein spezifiziertes Verzeichnis gespeichert
Leider habe ich bisher keinen Weg gefunden, um die eingefügten Grafiken auf jeder Folie 'ganz hinten anzuordnen'. Würde man diese Funktion mit der Mouse aktivieren, so würde man
* Rechts-Klick auf Grafik ausführen
* Kontextmenü wird angezeigt
* aus Kontextmenü den folgenden Punkt auswählen
.. Anordnung > Ganz nach hinten
Hätte da evtl. jemand ein paar Zeilen (Python) Code, an denen ich mich orientieren bzw. die ich kopieren könnte?
Mit der Bitte um Hilfe,
Peter
❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
LibreOffice Impress - Grafik programmatisch anordnen
Re: LibreOffice Impress - Grafik programmatisch anordnen
Hallo Peter,
vielleicht hilft das:
http://www.pitonyak.org/OOME_3_0.pdf
Auf Seite 560 Tabelle 228 heist es:
libre4711
vielleicht hilft das:
http://www.pitonyak.org/OOME_3_0.pdf
Auf Seite 560 Tabelle 228 heist es:
GrußProperty Description
ZOrder Long Integer
representing the ZOrder of this shape. This controls the drawing order of objects,
effectively moving an object forward or backward.
libre4711
[gelöst] LibreOffice Impress - Grafik programmatisch anordne
Hallo libre4711,
vielen Dank für Deinen Hinweis...
Ich hatte in der Zwischenzeit schon beim englischsprachigen Entwicklerforum gefragt und dort die selbe Antwort bekommen. Hier der Code, den ich daraus kredenzt habe:
Nochmals vielen Dank,
Peter
vielen Dank für Deinen Hinweis...
Ich hatte in der Zwischenzeit schon beim englischsprachigen Entwicklerforum gefragt und dort die selbe Antwort bekommen. Hier der Code, den ich daraus kredenzt habe:
Code: Alles auswählen
# Import python modules
import uno
from com.sun.star.beans import PropertyValue
# Create 'GraphicProvider' object
objServiceManager = uno.getComponentContext().ServiceManager
objGraphProv = objServiceManager.createInstance('com.sun.star.graphic.GraphicProvider')
# Access image object
objGraphic = objGraphProv.queryGraphic((PropertyValue('URL', 0, strUrlImage, 0), ))
# Create the graphic wrapper object which can be inserted into the document
objShape = objDoc.createInstance('com.sun.star.drawing.GraphicObjectShape')
objShape.Graphic = objGraphic
# Assign shape to layer zero/ the rearmost layer
objShape.ZOrder = 0
Nochmals vielen Dank,
Peter
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.