Comment gérer l'export au format PDF Hybride ?
TDF LibreOffice Document Liberation Project Blogs communautaires Weblate Nextcloud Redmine Ask LibreOffice Donner
Description
Un PDF Hybride est un PDF consultable comme n'importe quel PDF, mais qui inclut en outre le document source au format ODF, permettant de le modifier notamment via LibreOffice. L'interface permet de déterminer si l'export va créer un document hybride via la commande de menu Fichier ▸ Exporter au format PDF (cf. Tutoriel).
La procédure suivante illustre comment procéder en Basic. L'export PDF utilise un tableau de propriétés (propFich dans l'exempe) indiquant le filtre à utiliser (calc_pdf_Export dans l'exemple), et les options choisies. Ces dernières sont elles aussi définies dans un tableau de propriétés (filterProps dans l'exemple). En l'occurrence l'option qui nous intéresse est IsAddStream pouvant prendre la valeur True ou False selon qu'on veut créer un hybride ou non.
Code
En LibreOffice Basic:
Option Explicit
Sub ExportPDFinHybridFormat
'''Macro pour gérer l'export au format PDF Hybride'''
Dim filterData(1) As New com.sun.star.beans.PropertyValue
Dim filterProps(1) As New com.sun.star.beans.PropertyValue
Dim fileAddress As String
'créer des "prop-vals" dans filterData, qui seront introduits dans filterProps
filterData(0).Name = "Selection"
filterData(0).Value = ThisComponent.CurrentController.ActiveSheet
filterData(1).Name = "IsAddStream"
filterData(1).Value = True
'créer des "prop-vals" dans filterProps, qui seront introduits dans storeToURL
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
ODS fichier pour essayer le macro
Notes
- Voir aussi a propos PDF hybrid à Faq/Writer/PDF_Hybrid.
- Voir aussi ce Apache OpenOffice tutoriel sur l'exportation de pdf