poi-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Javen O'Neal" <javenon...@gmail.com>
Subject Re: Apache POI - XSLF ooxml library
Date Thu, 25 Aug 2016 15:36:26 GMT
>From https://poi.apache.org/faq.html#faq-N10025
"the poi-ooxml-schemas jar only contains the XSDs and classes that are
typically used, as identified by the unit tests"

If you want to use the smaller poi-ooxml-schemas file in the future, write
a unit test that uses the missing class. We build poi-ooxml-schemas by
running the unit test suite and searching for all loaded xmlbeans-generated
ooxml classes. If you open a bug with a (hopefully meaningful) unit test as
a patch, we can commit it, giving you the option of using the smaller
poi-ooxml-schemas in the future.

On Aug 25, 2016 5:57 AM, "Guilherme Viteri" <gviteri@ebi.ac.uk> wrote:

> Hi,
> Now it worked fine :D
>
> So, at the moment I end up using the 3.15-beta2 - the latest available in
> Maven Repository - removed the poi-ooxml-schemas and added
> ooxml-schemas-1.3.jar as recommend in the FAQ you sent and everything
> worked fine.
>
> Thanks for all of your help Dominik.
>
> > On 25 Aug 2016, at 10:51, Dominik Stadler <dominik.stadler@gmx.at>
> wrote:
> >
> > Hi,
> >
> > That sounds like you still have some old jars in use in your project, can
> > you check? You can also try to use the full schema-jar instead of the
> > ooxml-schemas, see http://poi.apache.org/faq.html#faq-N10025 for
> details.
> >
> > Dominik.
> >
> > On Wed, Aug 24, 2016 at 3:31 PM, Guilherme Viteri <gviteri@ebi.ac.uk>
> wrote:
> >
> >> Hi,
> >>
> >> Thanks for testing and validating my code
> >>
> >> As you said I downloaded the trunk version from svn (git svn clone
> >> https://svn.apache.org/repos/asf/poi/trunk poisvngit --revision HEAD),
> >> then I built using ant jar. I added these jars into my project and then
> I
> >> assume now I get the latest version. However it did not work.
> >>
> >> Still getting
> >> java.lang.ClassCastException: org.apache.xmlbeans.impl.
> values.XmlComplexContentImpl
> >> cannot be cast to org.openxmlformats.schemas.drawingml.x2006.main.
> >> CTPath2DQuadBezierTo
> >>        at org.openxmlformats.schemas.drawingml.x2006.main.impl.
> >> CTPath2DImpl.addNewQuadBezTo(Unknown Source)
> >>        at org.apache.poi.xslf.usermodel.XSLFFreeformShape.setPath(
> >> XSLFFreeformShape.java:85)
> >>        at org.reactome.server.rd2pptx.poi.TestBoneShape.main(
> >> TestBoneShape.java:22)
> >>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>        at sun.reflect.NativeMethodAccessorImpl.invoke(
> >> NativeMethodAccessorImpl.java:62)
> >>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> >> DelegatingMethodAccessorImpl.java:43)
> >>        at java.lang.reflect.Method.invoke(Method.java:497)
> >>        at com.intellij.rt.execution.application.AppMain.main(
> >> AppMain.java:144)
> >>
> >>
> >> I tried xmlbeans version 2.3.0 and version 2.6.0 also but I don't this
> is
> >> the problem. I am also running Java 8 on OS X
> >>
> >> Thanks
> >>
> >> On Mon, Aug 23, 2016 at 12:05 PM, Dominik Stadler <domi... <>@gmx.at>
> >> wrote:
> >> Hi,
> >>
> >> Your sample code works with current POI trunk, maybe you can try with
> the
> >> latest version or at least a recent nightly build to see if your
> problem is
> >> actually fixed there already.
> >>
> >> Dominik.
> >>
> >> On Mon, Aug 22, 2016 at 11:51 AM, Guilherme Viteri <gvit... <>@
> ebi.ac.uk>
> >> wrote:
> >>
> >> Dear Developers,
> >>
> >> Is there anyone monitoring the stack overflow forum for #apache-poi ?
> >>
> >> I have created a couple of post but I haven't gotten any replies
> recently
> >>
> >> http://stackoverflow.com/questions/38971376/apache-poi-
> xslfconnectorshape
> >> <http://stackoverflow.com/questions/38971376/apache-poi-
> xslfconnectorshape
> >>>
> >> <http://stackoverflow.com/questions/38971376/apache-poi-
> xslfconnectorshape
> >> <http://stackoverflow.com/questions/38971376/apache-poi-
> xslfconnectorshape
> >>>
> >>
> >> http://stackoverflow.com/questions/39001499/apache-poi- <
> >> http://stackoverflow.com/questions/39001499/apache-poi->
> >> xslfautoshape-shape-offset-property <http://stackoverflow.com/ <
> >> http://stackoverflow.com/>
> >> questions/39001499/apache-poi-xslfautoshape-shape-offset-property>
> >>
> >> Besides that, I have one more issue when drawing XSLFFreeFormShape. I am
> >> trying to draw a kind of bone shape, however I am getting an exception
> in
> >> the low-level xml classes. I am adding the class.
> >>
> >> public class TestBoneShape {
> >>
> >>    public static void main(String[] args) {
> >>        try {
> >>            XMLSlideShow pptx = new XMLSlideShow();
> >>            XSLFSheet slide = pptx.createSlide();
> >>
> >>            XSLFFreeformShape freeformShape = slide.createFreeform();
> >>
> >>            freeformShape.setPath(boneShape(300, 300, 200, 100, 20));
> >>            freeformShape.setLineColor(Color.RED);
> >>            freeformShape.setAnchor(new Rectangle2D.Double(300, 300, 500,
> >> 200));
> >>
> >>            FileOutputStream out = new FileOutputStream("custom-
> >> shape.pptx");
> >>            pptx.write(out);
> >>            out.close();
> >>
> >>        } catch (Exception e) {
> >>            e.printStackTrace();
> >>        }
> >>    }
> >>
> >>    static Path2D.Double boneShape(double x,
> >>                                double y,
> >>                                double width,
> >>                                double height,
> >>                                double loopWidth) {
> >>
> >>        Path2D.Double bone = new Path2D.Double();
> >>        double right = x + width;
> >>        double bottom = y + height;
> >>
> >>        double xAux = x + loopWidth;
> >>        double yAux = y + loopWidth / 2;
> >>        bone.moveTo(xAux, yAux);
> >>        xAux = right - loopWidth;
> >>        bone.lineTo(xAux, yAux);
> >>        yAux = y + height / 2;
> >>        bone.quadTo(right, y, right, yAux);
> >>
> >>        xAux = right - loopWidth;
> >>        yAux = bottom - loopWidth / 2;
> >>        bone.quadTo(right, bottom, xAux, yAux);
> >>
> >>        xAux = x + loopWidth;
> >>        bone.lineTo(xAux, yAux);
> >>        yAux = y + height / 2;
> >>        bone.quadTo(x, bottom, x, yAux);
> >>
> >>        xAux = x + loopWidth;
> >>        yAux = y + loopWidth / 2;
> >>        bone.quadTo(x, y, xAux, yAux);
> >>
> >>        bone.closePath();
> >>
> >>        return bone;
> >>    }
> >> }
> >>
> >> Thank you
> >> Guilherme.
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message