Hallo Freunde,
ich würde gern ein Makro in Python schreiben um ein pdf des aktuellen Dokuments zu generieren, was ich anschließend mit python manipulieren möchte. Außer 2-3 Python Macro-Beispiele habe ich keine API oder ähnliches finden können.
Wo finde ich die API oder Wie kann ich das aktuelle Dokument als pdf in einer Variable speichern?
Vielen Dank für die Hilfe,
Christian
🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!
>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
Python Marco - Pdf export
-
komma4
- Beiträge: 185
- Registriert: Sa 13. Aug 2011, 10:01
- Wohnort: Chonburi Thailand Asia
- Kontaktdaten:
Re: Python Marco - Pdf export
Du kennst Google? Liefert mir 106.000 Treffer bei der Suche nach "Libreoffice python macro".
Die API zu LO findest Du beim Projekt.
Ich würde übrigens das Dokument ändern und dann exportieren, nicht im PDF ändern (wollen). Aber vielleicht kannst Du mit Python besser PDFs ändern, als im Netz "suchen"
Ein Codestück aus dem alten oooforum (meist sehr schlecht erreichbar)
Die API zu LO findest Du beim Projekt.
Ich würde übrigens das Dokument ändern und dann exportieren, nicht im PDF ändern (wollen). Aber vielleicht kannst Du mit Python besser PDFs ändern, als im Netz "suchen"
Ein Codestück aus dem alten oooforum (meist sehr schlecht erreichbar)
Code: Alles auswählen
# filter data
fdata = []
fdata1 = PropertyValue()
fdata1.Name = "SelectPdfVersion"
fdata1.Value = 1
fdata2 = PropertyValue()
fdata2.Name = "Quality"
fdata2.Value = 100
fdata.append(fdata1)
fdata.append(fdata2)
args = []
arg1 = PropertyValue()
arg1.Name = "FilterName"
arg1.Value = "writer_web_pdf_Export"
arg2 = PropertyValue()
arg2.Name = "FilterData"
arg2.Value = uno.Any(
"[]com.sun.star.beans.PropertyValue", tuple(fdata) )
args.append(arg1)
args.append(arg2)Cheers
Winfried
aktuell: openSuse 13.1 mit LO 4.3.7.2
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als Extension)
Winfried
aktuell: openSuse 13.1 mit LO 4.3.7.2
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als Extension)
Re: Python Marco - Pdf export
Danke für die Hilfe Winfried - Deine Idee funktioniert bestens:
Kannst du mir sagen wie ich einen File-Dialog bekomme? Habe einen neuen Thread dazu erstellt: http://www.libreoffice-forum.de/viewtop ... 357#p36357
Danke für die Links,
Christian
Code: Alles auswählen
import uno
from com.sun.star.beans import PropertyValue
def pypdf_test():
desktop = XSCRIPTCONTEXT.getDesktop()
doc = desktop.getCurrentComponent()
# filter data
fdata = []
fdata1 = PropertyValue()
fdata1.Name = "SelectPdfVersion"
fdata1.Value = 1
fdata2 = PropertyValue()
fdata2.Name = "Quality"
fdata2.Value = 100
fdata.append(fdata1)
fdata.append(fdata2)
args = []
arg1 = PropertyValue()
arg1.Name = "FilterName"
arg1.Value = "writer_web_pdf_Export"
arg2 = PropertyValue()
arg2.Name = "FilterData"
arg2.Value = uno.Any("[]com.sun.star.beans.PropertyValue", tuple(fdata) )
args.append(arg1)
args.append(arg2)
url = "file:///home/poor/Desktop/123.pdf"
doc.storeToURL( url, tuple(args) )
#doc.close(True) Danke für die Links,
Christian
An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️