Als PNG exportieren
Verfasst: So 3. Sep 2023, 09:54
Wie kann man in LibreOffice Writer Dokumente als PNG-Datei exportieren? Die interne Exportfunktion exportiert nur die erste Seite als PNG-Datei.
Das Online-Forum rund um das LibreOffice Softwarepaket
https://www.libreoffice-forum.de/
Code: Alles auswählen
Sub StoreEachPageToPNG()
Dim oDoc As Variant, oViewCursor As Variant
Dim iPageCount As Long, iPage As Long
Dim sOriginalURL As String, sFileURL As String
Dim pngFilterData(1) As New com.sun.star.beans.PropertyValue
pngFilterData(0).Name = "PixelWidth"
pngFilterData(0).Value = 1634 ' or as much as you need
pngFilterData(1).Name = "PixelHeight"
pngFilterData(1).Value = 2114 ' take care to maintain proportions
Dim Args(1) As New com.sun.star.beans.PropertyValue
Args(0).Name = "FilterName"
Args(0).Value = "writer_png_Export"
Args(1).Name = "FilterData"
Args(1).Value = pngFilterData
oDoc = ThisComponent
iPageCount = oDoc.getCurrentController().PageCount
oViewCursor = oDoc.getCurrentController().getViewCursor()
sOriginalURL = oDoc.getURL()
oViewCursor.jumpToFirstPage()
For iPage = 1 To iPageCount
sFileURL = Replace(sOriginalURL, ".odt", " - " & Format(iPage, "000") & ".png")
oDoc.StoreToURL(sFileURL, Args)
If Not oViewCursor.jumpToNextPage() Then End
Next iPage
End Sub