PDF-Export nur eines bestimmten Sheets

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Postbyme
***
Beiträge: 90
Registriert: Mo, 27.11.2017 18:42

PDF-Export nur eines bestimmten Sheets

Beitrag von Postbyme »

Hallo,
möchte nur ein spezielles Sheet als PDF exportieren. Wie kann ich in folgendem Code das Sheet angeben:

Code: Alles auswählen

sub alist_pdf()

dim ls_datei as string
ls_datei = "file:///C:/Prod/OO_Programmierung/alist.pdf"
Dim pdfProperties(1) as new com.sun.star.beans.PropertyValue
pdfProperties(0).Name = "FilterName"
pdfProperties(0).Value = "writer_pdf_Export"
ThisComponent.storeToURL( ls_datei, pdfProperties() 

end sub
)
oder muss ich das zu exportierende Sheet immer erst als aktives Sheet machen?
Vielen Dank für Eure Hilfe.

Gruß
Winni
-------------------------------------------------------
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
mikeleb
*******
Beiträge: 1316
Registriert: Fr, 09.12.2011 16:50

Re: PDF-Export nur eines bestimmten Sheets

Beitrag von mikeleb »

Hallo,
dazu musst da die gewünschte Tabelle als weiteren "Auswahl"-Parameter dazugeben:

Code: Alles auswählen

sub alist_pdf()

dim ls_datei as string
ls_datei = "file:///C:/Prod/OO_Programmierung/alist.pdf"
Dim pdfProperties(2) as new com.sun.star.beans.PropertyValue
pdfProperties(0).Name = "FilterName"
pdfProperties(0).Value = "writer_pdf_Export"
'Auswahl des Tabellenblattes, hier das 1.; Zählung beginnt bei 0
Dim aFilterData(0) as new com.sun.star.beans.PropertyValue
aFilterData(0).Name = "Selection"
aFilterData(0).Value = ThisComponent.Sheets(0)
pdfProperties(2).Name = "FilterData"
pdfProperties(2).Value = aFilterData()

ThisComponent.storeToURL( ls_datei, pdfProperties() 

end sub
Gruß,
mikeleb
Postbyme
***
Beiträge: 90
Registriert: Mo, 27.11.2017 18:42

Re: PDF-Export nur eines bestimmten Sheets

Beitrag von Postbyme »

Hallo,
es funktioniert. Wo findet man das so dokumentiert? Im Pitonyak finde ich das so auch nicht.
Aber es gibt ja dieses Forum mit den netten "Rettern", danke nochmals.

Winni
-------------------------------------------------------
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
mikeleb
*******
Beiträge: 1316
Registriert: Fr, 09.12.2011 16:50

Re: PDF-Export nur eines bestimmten Sheets

Beitrag von mikeleb »

Hallo,
so eine richtig gute Dokumentation habe ich bisher nicht gefunden.
Ein paar Infos gibt es hier: https://wiki.documentfoundation.org/Mac ... ilter_data
Per Makro aufzeichnen findet man folgendes:

Code: Alles auswählen

dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = "file:///home/....pdf"
args1(1).Name = "FilterName"
args1(1).Value = "calc_pdf_Export"
args1(2).Name = "FilterData"
args1(2).Value = Array(Array("UseLosslessCompression",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Quality",0,90,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ReduceImageResolution",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("MaxImageResolution",0,300,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("UseTaggedPDF",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("SelectPdfVersion",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportNotes",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ViewPDFAfterExport",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportBookmarks",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("OpenBookmarkLevels",0,-1,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("UseTransitionEffects",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("IsSkipEmptyPages",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportPlaceholders",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("IsAddStream",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("FormsType",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportFormFields",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("AllowDuplicateFieldNames",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("HideViewerToolbar",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("HideViewerMenubar",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("HideViewerWindowControls",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ResizeWindowToInitialPage",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("CenterWindow",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("OpenInFullScreenMode",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("DisplayPDFDocumentTitle",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("InitialView",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Magnification",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Zoom",0,100,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PageLayout",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("FirstPageOnLeft",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("InitialPage",0,1,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Printing",0,2,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Changes",0,4,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EnableCopyingOfContent",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EnableTextAccessForAccessibilityTools",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportLinksRelativeFsys",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PDFViewSelection",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ConvertOOoTargetToPDFTarget",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportBookmarksToPDFDestination",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("SignPDF",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("_OkButtonString",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Watermark",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EncryptFile",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PreparedPasswords",0,,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("RestrictPermissions",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PreparedPermissionPassword",0,Array(),com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Selection",0,,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("SignatureLocation",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("SignatureReason",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("SignatureContactInfo",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("SignaturePassword",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("SignatureCertificate",0,,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("SignatureTSA",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("UseReferenceXObject",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE))
Damit hat man eine Menge Parameter, die man einstellen kann - und dann viel probieren ...
Gruß,
mikeleb
Postbyme
***
Beiträge: 90
Registriert: Mo, 27.11.2017 18:42

Re: PDF-Export nur eines bestimmten Sheets

Beitrag von Postbyme »

JA hilft wieder ein Stück weiter :idea:
-------------------------------------------------------
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
Postbyme
***
Beiträge: 90
Registriert: Mo, 27.11.2017 18:42

Re: PDF-Export nur eines bestimmten Sheets

Beitrag von Postbyme »

Hallo,
muss nochmal nachfragen.
Bei einem Rechner geht es tadellos, beim anderen Rechner bringt er an dieser Stelle:

Code: Alles auswählen

ThisComponent.storeToURL( ls_datei, pdfProperties()) 
folgenden Fehler:

BASIC-Laufzeitfehler.
Es ist eine Ausnahme aufgetreten
Type: com.sun.star.io.IOException
Message: SfxBaseModel::impl_store <file:///C:/Prod/Otto/Listen/alist.pdf> failed: 0x81a(Error Area:Io Class:Parameter Code:26).

Neuestes JDK habe ich installiert.
Was könnte das sein?
Gruß
Winni
-------------------------------------------------------
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
Antworten