Search in sources :

Example 6 with CTBlipFillProperties

use of org.openxmlformats.schemas.drawingml.x2006.main.CTBlipFillProperties in project poi by apache.

the class XSLFPictureShape method getBlipFill.

protected CTBlipFillProperties getBlipFill() {
    CTPicture ct = (CTPicture) getXmlObject();
    CTBlipFillProperties bfp = ct.getBlipFill();
    if (bfp != null) {
        return bfp;
    }
    String xquery = "declare namespace p='http://schemas.openxmlformats.org/presentationml/2006/main'; " + "declare namespace mc='http://schemas.openxmlformats.org/markup-compatibility/2006' " + ".//mc:Fallback/p:blipFill";
    XmlObject xo = selectProperty(XmlObject.class, xquery);
    try {
        xo = CTPicture.Factory.parse(xo.getDomNode());
    } catch (XmlException xe) {
        return null;
    }
    return ((CTPicture) xo).getBlipFill();
}
Also used : CTBlipFillProperties(org.openxmlformats.schemas.drawingml.x2006.main.CTBlipFillProperties) XmlException(org.apache.xmlbeans.XmlException) CTPicture(org.openxmlformats.schemas.presentationml.x2006.main.CTPicture) XmlObject(org.apache.xmlbeans.XmlObject)

Example 7 with CTBlipFillProperties

use of org.openxmlformats.schemas.drawingml.x2006.main.CTBlipFillProperties in project poi by apache.

the class XSLFShape method selectPaint.

protected static PaintStyle selectPaint(final CTBlipFillProperties blipFill, final PackagePart parentPart) {
    final CTBlip blip = blipFill.getBlip();
    return new TexturePaint() {

        private PackagePart getPart() {
            try {
                String blipId = blip.getEmbed();
                PackageRelationship rel = parentPart.getRelationship(blipId);
                return parentPart.getRelatedPart(rel);
            } catch (InvalidFormatException e) {
                throw new RuntimeException(e);
            }
        }

        public InputStream getImageData() {
            try {
                return getPart().getInputStream();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }

        public String getContentType() {
            /* TOOD: map content-type */
            return getPart().getContentType();
        }

        public int getAlpha() {
            return (blip.sizeOfAlphaModFixArray() > 0) ? blip.getAlphaModFixArray(0).getAmt() : 100000;
        }
    };
}
Also used : PackageRelationship(org.apache.poi.openxml4j.opc.PackageRelationship) TexturePaint(org.apache.poi.sl.usermodel.PaintStyle.TexturePaint) CTBlip(org.openxmlformats.schemas.drawingml.x2006.main.CTBlip) IOException(java.io.IOException) InvalidFormatException(org.apache.poi.openxml4j.exceptions.InvalidFormatException)

Example 8 with CTBlipFillProperties

use of org.openxmlformats.schemas.drawingml.x2006.main.CTBlipFillProperties in project poi by apache.

the class XSLFPictureShape method prototype.

/**
     * @param shapeId 1-based shapeId
     * @param rel     relationship to the picture data in the ooxml package
     */
static CTPicture prototype(int shapeId, String rel) {
    CTPicture ct = CTPicture.Factory.newInstance();
    CTPictureNonVisual nvSpPr = ct.addNewNvPicPr();
    CTNonVisualDrawingProps cnv = nvSpPr.addNewCNvPr();
    cnv.setName("Picture " + shapeId);
    cnv.setId(shapeId + 1);
    nvSpPr.addNewCNvPicPr().addNewPicLocks().setNoChangeAspect(true);
    nvSpPr.addNewNvPr();
    CTBlipFillProperties blipFill = ct.addNewBlipFill();
    CTBlip blip = blipFill.addNewBlip();
    blip.setEmbed(rel);
    blipFill.addNewStretch().addNewFillRect();
    CTShapeProperties spPr = ct.addNewSpPr();
    CTPresetGeometry2D prst = spPr.addNewPrstGeom();
    prst.setPrst(STShapeType.RECT);
    prst.addNewAvLst();
    return ct;
}
Also used : CTBlipFillProperties(org.openxmlformats.schemas.drawingml.x2006.main.CTBlipFillProperties) CTShapeProperties(org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties) CTBlip(org.openxmlformats.schemas.drawingml.x2006.main.CTBlip) CTPresetGeometry2D(org.openxmlformats.schemas.drawingml.x2006.main.CTPresetGeometry2D) CTNonVisualDrawingProps(org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps) CTPicture(org.openxmlformats.schemas.presentationml.x2006.main.CTPicture) CTPictureNonVisual(org.openxmlformats.schemas.presentationml.x2006.main.CTPictureNonVisual)

Example 9 with CTBlipFillProperties

use of org.openxmlformats.schemas.drawingml.x2006.main.CTBlipFillProperties in project poi by apache.

the class XSLFPropertiesDelegate method getDelegate.

@SuppressWarnings("unchecked")
private static <T> T getDelegate(Class<T> clazz, XmlObject props) {
    Object obj = null;
    if (props == null) {
        return null;
    } else if (props instanceof CTShapeProperties) {
        obj = new ShapeDelegate((CTShapeProperties) props);
    } else if (props instanceof CTBackgroundProperties) {
        obj = new BackgroundDelegate((CTBackgroundProperties) props);
    } else if (props instanceof CTStyleMatrixReference) {
        obj = new StyleMatrixDelegate((CTStyleMatrixReference) props);
    } else if (props instanceof CTTableCellProperties) {
        obj = new TableCellDelegate((CTTableCellProperties) props);
    } else if (props instanceof CTNoFillProperties || props instanceof CTSolidColorFillProperties || props instanceof CTGradientFillProperties || props instanceof CTBlipFillProperties || props instanceof CTPatternFillProperties || props instanceof CTGroupFillProperties) {
        obj = new FillPartDelegate(props);
    } else if (props instanceof CTFillProperties) {
        obj = new FillDelegate((CTFillProperties) props);
    } else if (props instanceof CTLineProperties) {
        obj = new LineStyleDelegate((CTLineProperties) props);
    } else if (props instanceof CTTextCharacterProperties) {
        obj = new TextCharDelegate((CTTextCharacterProperties) props);
    } else {
        LOG.log(POILogger.ERROR, props.getClass() + " is an unknown properties type");
        return null;
    }
    if (clazz.isInstance(obj)) {
        return (T) obj;
    }
    LOG.log(POILogger.WARN, obj.getClass() + " doesn't implement " + clazz);
    return null;
}
Also used : CTShapeProperties(org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties) CTNoFillProperties(org.openxmlformats.schemas.drawingml.x2006.main.CTNoFillProperties) CTTextCharacterProperties(org.openxmlformats.schemas.drawingml.x2006.main.CTTextCharacterProperties) CTLineProperties(org.openxmlformats.schemas.drawingml.x2006.main.CTLineProperties) CTBackgroundProperties(org.openxmlformats.schemas.presentationml.x2006.main.CTBackgroundProperties) CTTableCellProperties(org.openxmlformats.schemas.drawingml.x2006.main.CTTableCellProperties) CTPatternFillProperties(org.openxmlformats.schemas.drawingml.x2006.main.CTPatternFillProperties) CTGradientFillProperties(org.openxmlformats.schemas.drawingml.x2006.main.CTGradientFillProperties) CTBlipFillProperties(org.openxmlformats.schemas.drawingml.x2006.main.CTBlipFillProperties) XmlObject(org.apache.xmlbeans.XmlObject) CTStyleMatrixReference(org.openxmlformats.schemas.drawingml.x2006.main.CTStyleMatrixReference) CTFillProperties(org.openxmlformats.schemas.drawingml.x2006.main.CTFillProperties) CTSolidColorFillProperties(org.openxmlformats.schemas.drawingml.x2006.main.CTSolidColorFillProperties) CTGroupFillProperties(org.openxmlformats.schemas.drawingml.x2006.main.CTGroupFillProperties)

Aggregations

CTBlipFillProperties (org.openxmlformats.schemas.drawingml.x2006.main.CTBlipFillProperties)8 CTBlip (org.openxmlformats.schemas.drawingml.x2006.main.CTBlip)4 CTNonVisualDrawingProps (org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps)4 CTShapeProperties (org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties)4 CTPresetGeometry2D (org.openxmlformats.schemas.drawingml.x2006.main.CTPresetGeometry2D)3 InvalidFormatException (org.apache.poi.openxml4j.exceptions.InvalidFormatException)2 PackageRelationship (org.apache.poi.openxml4j.opc.PackageRelationship)2 XmlException (org.apache.xmlbeans.XmlException)2 XmlObject (org.apache.xmlbeans.XmlObject)2 CTNonVisualPictureProperties (org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualPictureProperties)2 CTPoint2D (org.openxmlformats.schemas.drawingml.x2006.main.CTPoint2D)2 CTPositiveSize2D (org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D)2 CTTransform2D (org.openxmlformats.schemas.drawingml.x2006.main.CTTransform2D)2 CTPicture (org.openxmlformats.schemas.drawingml.x2006.picture.CTPicture)2 CTPicture (org.openxmlformats.schemas.presentationml.x2006.main.CTPicture)2 ByteArrayInputStream (java.io.ByteArrayInputStream)1 IOException (java.io.IOException)1 StringReader (java.io.StringReader)1 QName (javax.xml.namespace.QName)1 POIXMLDocumentPart (org.apache.poi.POIXMLDocumentPart)1