oox import/export of custom shape extrusion

Regina Henschel rb.henschel at t-online.de
Fri Mar 19 13:20:54 UTC 2021

Hi Miklos,

Miklos Vajna schrieb am 19.03.2021 um 08:18:
> Hi Regina,
> On Thu, Mar 18, 2021 at 04:24:38PM +0100, Regina Henschel <rb.henschel at t-online.de> wrote:
>> I want to work on getting oox import/export of custom shape extrusion.
> Great, much appreciated.
>> In case a grabBag exists, it will be necessary to merge values from the
>> internal "extrusion" property with values from the grabBag on export. In
>> case no grabBag exists, writing OOXML from the internal properties is
>> needed. In case no internal "extrusion" property exists, the current
>> solution of writing the gragBag is OK.
>> Should I use separate solutions for the three cases? Advantage would be,
>> that the development can be done without interfering the current solution
>> for "only grabBag". But a solution for "merge" would be able to solve the
>> situation "no grabBag" and "only grabBag" too, so doing only that might
>> avoid code duplication.
> The motivation bethind grab-bag is to preserve properties from OOXML,
> which is not handled by libreoffice core. So in case there is a grab-bag
> attached to a shape and you use the UI to modify the shape, it's
> perfectly valid to just empty the grab-bag. This is predictable behavior
> and you will never have to handle a mix of real document model and
> grab-bag for the same shape.
> As an example, we store smartart data in the shape grab-bag. But once
> you edit the shape text, we empty the grab-bag, so your text edits are
> not lost on save (since commit
> a01ae07740e5c311fcc37f2ac2e2a0a2a1935920).
> Does that help?

It would indeed make the structure much easier, if only the situations 
"no grabBag" and "only grabBag" need to be handled. So that is fine for me.

OOX has some 3D properties, which do not exist in ODF and/or cannot be 
rendered by LO. Those would be lost in a PPTX - LO - PPTX roundtrip. Of 
cause they will be lost in PPTX - LO - ODF anyway. I would not mind 
loosing them, but what do your customers expect?

Such properties are for sure property 'Bevel', color of light (used in 
presets "sunset" and "freeze" for example) and property 'Contour'. I 
have not yet investigated, what is possible in ODF in regard to property 
'Material' and which of the Material presets LO would be able to render 
although no UI exists.

Kind regards

More information about the LibreOffice mailing list