oox export of chart transparency

Regina Henschel rb.henschel at t-online.de
Sun Oct 20 14:53:09 UTC 2019


Hi all,

in connection with discussions in bug 108065, I looked at the export of 
transparency in charts.
https://bugs.documentfoundation.org/show_bug.cgi?id=108065
[FILESAVE DOCX] Gradient property of the data series not preserved when 
saved as DOCX

The problem has several reasons
a) void DrawingML::WriteGradientFill(awt::Gradient rGradient,
      const uno::Reference<beans::XPropertySet>& rXPropSet)
expects a property "FillTransparenceGradient" but in charts only 
"FillTransparenceGradientName" is available.
b) void ChartExport::exportFill( const Reference< XPropertySet >& xPropSet )
does not consider transparency gradient in case of solid fill.
c) import of a chart considers transparency only on data point filling.

What I have done so far is in https://gerrit.libreoffice.org/#/c/81165/1

My questions:
To get a gradient form "FillTransparenceGradientName", I have found 
"com.sun.star.drawing.TransparencyGradientTable". To use it, I need a 
model. That is available in class ChartExport, but not in the base class 
DrawingML. Is there a way to get the gradient itself from its name in 
DrawingML::WriteGradientFill()?

My idea for the export works for charts in Calc and Writer. But any 
(e.g. a default shape without any gradient or transparency) export from 
odp to pptx crashes. So I'm doing something fundamental wrong. But what?

Kind regards
Regina





More information about the LibreOffice mailing list