Hallo,
ich beschäftige mich schon seit einiger Zeit mit der
OpenOffice API.
Ich habe eine Unit geschrieben, die den Umgang mit Calc-Dokumenten erheblich erleichert.
Allerdings bereitet mir der PDF-Export-Probleme, oder genauer weitere Einstellungen beim Export.
Ich kann die Angaben aus der API-Dokumentation noch nicht fehlerfrei umsetzen.
Hier mein bisheriger Code
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| procedure TCalcDocument.ExportToPDF(FileName: String); var oProperties, oFilterData, oOrientation: Variant; begin if FOpen then begin FileName:= ConvertToURL(FileName);
oFilterData:= VarArrayCreate([0,1], varVariant); oFilterData[0] := oCalcDocument.Bridge_GetStruct('com.sun.star.beans.PropertyValue'); oFilterData[0].Name:= 'IsLandscape'; oFilterData[0].Value:= true;
oProperties := VarArrayCreate([0, 3], varVariant); oProperties[0] := oCalcDocument.Bridge_GetStruct('com.sun.star.beans.PropertyValue'); oProperties[0].Name := 'FilterName'; oProperties[0].Value := 'calc_pdf_Export'; oProperties[1] := oCalcDocument.Bridge_GetStruct('com.sun.star.beans.PropertyValue'); oProperties[1].Name := 'FilterData'; oProperties[1].Value := oFilterData;
oCalcDocument.storeToURL(FileName, oProperties); end;
end; |
Soweit funktioniert der Export. Nun möchte ich auf Querformat umstellen:
Mein Ansatz:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| oOrientation:= CreateUnoStruct('com.sun.star.view.PrinterDescriptor'); oOrientation.PaperOrientation:= 1; oOrientation := oCalcDocument.Bridge_GetStruct('com.sun.star.view.PaperOrientation'); oOrientation:= 1; |
Habt ihr eine Idee, wie man die Option ändern kann?