Page 1 of 1

Diagram (SmartArt) related Parts

PostPosted: Wed Apr 21, 2010 5:28 am
by rockym
Hi Jason,

Is docx4j going to support Diagram (SmartArt) in the near future? Currently all diagram related parts are instantiated as BinaryPart and it's hard to manipulate it.

Many thanks,
Rocky

Re: Diagram (SmartArt) related Parts

PostPosted: Thu Apr 22, 2010 1:03 pm
by jason
Hi Rocky

I've added support - see http://dev.plutext.org/trac/docx4j/changeset/1121 for the parts supported.

If you are using a docx4j binary jar, you'll find this support in http://dev.plutext.org/docx4j/docx4j-ni ... 100422.jar

Here is an extract of what the PartsList sample outputs for my test document:
Code: Select all
Part /_rels/.rels [org.docx4j.openpackaging.parts.relationships.RelationshipsPart]  containing JaxbElement:org.docx4j.relationships.Relationships
    Part /word/document.xml [org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart]  containing JaxbElement:org.docx4j.wml.Document
        Part /word/diagrams/colors1.xml [org.docx4j.openpackaging.parts.DrawingML.DiagramColorsPart]  containing JaxbElement:{http://schemas.openxmlformats.org/drawingml/2006/diagram}colorsDef is a javax.xml.bind.JAXBElement; it has declared type org.docx4j.dml.diagram.CTColorTransform
        Part /word/diagrams/quickStyle1.xml [org.docx4j.openpackaging.parts.DrawingML.DiagramStylePart]  containing JaxbElement:{http://schemas.openxmlformats.org/drawingml/2006/diagram}styleDef is a javax.xml.bind.JAXBElement; it has declared type org.docx4j.dml.diagram.CTStyleDefinition
        Part /word/diagrams/layout1.xml [org.docx4j.openpackaging.parts.DrawingML.DiagramLayoutPart]  containing JaxbElement:{http://schemas.openxmlformats.org/drawingml/2006/diagram}layoutDef is a javax.xml.bind.JAXBElement; it has declared type org.docx4j.dml.diagram.CTDiagramDefinition
        Part /word/diagrams/data1.xml [org.docx4j.openpackaging.parts.DrawingML.DiagramDataPart]  containing JaxbElement:{http://schemas.openxmlformats.org/drawingml/2006/diagram}dataModel is a javax.xml.bind.JAXBElement; it has declared type org.docx4j.dml.diagram.CTDataModel


There might be other SmartArt related parts - I didn't bother to look up the spec to see. If there are, please let me know and attach a sample docx which contains them.

If docx4j generally or this response in particular has assisted you, please consider promoting docx4j and/or Plutext (for example, via a blog post, a tweet, on LinkedIn or Facebook, or an email to your colleagues), or donating something via PayPal. Your promotion/support allows me to continue to improve docx4j. Thanks.

Jason