Jump to content

Als hybrides PDF exportieren

From The Document Foundation Wiki
This page is a translated version of the page Macros/General/006 and the translation is 100% complete.


Beschreibung

Ein hybrides PDFkann wie jedes andere PDF gelesen werden, enthält aber ein Quelldokument im PDF-Format, das in LibreOffice bearbeitet werden kann. Es kann über den Menüeintrag Datei ▸ Exportieren als ▸ Exportieren als PDF erzeugt werden.

Das folgende Makro zeigt, wie dieses in LibreOffice Basic passiert. Das Feld propFich in diesem Beispiel spezifiziertden zu verwendenden Filter (calc_pdf_Export) und die gewählten Optionen. Das Feld filterProps spezifiziert den zu esportiernden Text und enthält einen Schalter IsAddStream, der bestimmt ob der Export stattfindet.

Code

In LibreOffice Basic:

Option Explicit

Sub ExportPDFinHybridFormat
    '''Exportiert das aktive Calc Tabellenblatt als hybrides PDF'''

    Dim filterData(1) As New com.sun.star.beans.PropertyValue
    Dim filterProps(1) As New com.sun.star.beans.PropertyValue
    Dim fileAddress As String

    'erzeugt prop-vals in filterData, das wiederum an filterProps übergeben wird
    filterData(0).Name = "Selection"
    filterData(0).Value = ThisComponent.CurrentController.ActiveSheet
    filterData(1).Name = "IsAddStream"
    filterData(1).Value = True

    'erzeugt prop-vals in filterData, das wiederum an die Exportfunktion storeToURL übergeben wird
    filterProps(0).Name = "FilterName"
    filterProps(0).Value = "calc_pdf_Export"
    filterProps(1).Name = "FilterData"
    filterProps(1).Value = filterData()

    fileAddress = convertToURL("/home/<user>/Documents/test.pdf")
    ThisComponent.storeToURL(fileAddress, filterProps())

End Sub ' ExportPDFinHybridFormat

ODT Dateien, um das Makro zu testen

Hinweise