internal static CT_Picture Prototype() { if (XSSFPicture.prototype == null) { CT_Picture ctPicture = new CT_Picture(); CT_PictureNonVisual pictureNonVisual = ctPicture.AddNewNvPicPr(); CT_NonVisualDrawingProps visualDrawingProps = pictureNonVisual.AddNewCNvPr(); visualDrawingProps.id = 1U; visualDrawingProps.name = "Picture 1"; visualDrawingProps.descr = "Picture"; pictureNonVisual.AddNewCNvPicPr().AddNewPicLocks().noChangeAspect = true; CT_BlipFillProperties blipFillProperties = ctPicture.AddNewBlipFill(); blipFillProperties.AddNewBlip().embed = ""; blipFillProperties.AddNewStretch().AddNewFillRect(); CT_ShapeProperties ctShapeProperties = ctPicture.AddNewSpPr(); CT_Transform2D ctTransform2D = ctShapeProperties.AddNewXfrm(); CT_PositiveSize2D ctPositiveSize2D = ctTransform2D.AddNewExt(); ctPositiveSize2D.cx = 0L; ctPositiveSize2D.cy = 0L; CT_Point2D ctPoint2D = ctTransform2D.AddNewOff(); ctPoint2D.x = 0L; ctPoint2D.y = 0L; CT_PresetGeometry2D presetGeometry2D = ctShapeProperties.AddNewPrstGeom(); presetGeometry2D.prst = ST_ShapeType.rect; presetGeometry2D.AddNewAvLst(); XSSFPicture.prototype = ctPicture; } return(XSSFPicture.prototype); }
/// <summary> /// CT_Anchor class constructor /// </summary> public CT_Anchor() { this.effectExtentField = new CT_EffectExtent(); this.positionVField = new CT_PosV(); this.positionHField = new CT_PosH(); this.simplePosField = new CT_Point2D(); }
internal static CT_GroupShape Prototype() { if (XSSFShapeGroup.prototype == null) { CT_GroupShape ctGroupShape = new CT_GroupShape(); CT_GroupShapeNonVisual groupShapeNonVisual = ctGroupShape.AddNewNvGrpSpPr(); CT_NonVisualDrawingProps visualDrawingProps = groupShapeNonVisual.AddNewCNvPr(); visualDrawingProps.id = 0U; visualDrawingProps.name = "Group 0"; groupShapeNonVisual.AddNewCNvGrpSpPr(); CT_GroupTransform2D groupTransform2D = ctGroupShape.AddNewGrpSpPr().AddNewXfrm(); CT_PositiveSize2D ctPositiveSize2D1 = groupTransform2D.AddNewExt(); ctPositiveSize2D1.cx = 0L; ctPositiveSize2D1.cy = 0L; CT_Point2D ctPoint2D1 = groupTransform2D.AddNewOff(); ctPoint2D1.x = 0L; ctPoint2D1.y = 0L; CT_PositiveSize2D ctPositiveSize2D2 = groupTransform2D.AddNewChExt(); ctPositiveSize2D2.cx = 0L; ctPositiveSize2D2.cy = 0L; CT_Point2D ctPoint2D2 = groupTransform2D.AddNewChOff(); ctPoint2D2.x = 0L; ctPoint2D2.y = 0L; XSSFShapeGroup.prototype = ctGroupShape; } return(XSSFShapeGroup.prototype); }
/** * Initialize default structure of a new shape group */ internal static CT_GroupShape Prototype() { if (prototype == null) { CT_GroupShape shape = new CT_GroupShape(); CT_GroupShapeNonVisual nv = shape.AddNewNvGrpSpPr(); CT_NonVisualDrawingProps nvpr = nv.AddNewCNvPr(); nvpr.id = (0); nvpr.name = ("Group 0"); nv.AddNewCNvGrpSpPr(); CT_GroupShapeProperties sp = shape.AddNewGrpSpPr(); CT_GroupTransform2D t2d = sp.AddNewXfrm(); CT_PositiveSize2D p1 = t2d.AddNewExt(); p1.cx = (0); p1.cy = (0); CT_Point2D p2 = t2d.AddNewOff(); p2.x = (0); p2.y = (0); CT_PositiveSize2D p3 = t2d.AddNewChExt(); p3.cx = (0); p3.cy = (0); CT_Point2D p4 = t2d.AddNewChOff(); p4.x = (0); p4.y = (0); prototype = shape; } return(prototype); }
/** * Initialize default structure of a new graphic frame */ public static CT_GraphicalObjectFrame Prototype() { CT_GraphicalObjectFrame graphicFrame = new CT_GraphicalObjectFrame(); NPOI.OpenXmlFormats.Dml.Spreadsheet.CT_GraphicalObjectFrameNonVisual nvGraphic = graphicFrame.AddNewNvGraphicFramePr(); NPOI.OpenXmlFormats.Dml.Spreadsheet.CT_NonVisualDrawingProps props = nvGraphic.AddNewCNvPr(); props.id = (0); props.name = ("Diagramm 1"); nvGraphic.AddNewCNvGraphicFramePr(); CT_Transform2D transform = graphicFrame.AddNewXfrm(); CT_PositiveSize2D extPoint = transform.AddNewExt(); CT_Point2D offPoint = transform.AddNewOff(); extPoint.cx = (0); extPoint.cy = (0); offPoint.x = (0); offPoint.y = (0); CT_GraphicalObject graphic = graphicFrame.AddNewGraphic(); prototype = graphicFrame; return(prototype); }
public XWPFPicture AddPicture(Stream pictureData, int pictureType, string filename, int width, int height) { XWPFDocument document = this.paragraph.GetDocument(); string id = document.AddPictureData(pictureData, pictureType); XWPFPictureData relationById = (XWPFPictureData)document.GetRelationById(id); try { CT_Inline ctInline = this.run.AddNewDrawing().AddNewInline(); XmlElement element = new XmlDocument().CreateElement("pic", "pic", "http://schemas.openxmlformats.org/drawingml/2006/picture"); ctInline.graphic = new CT_GraphicalObject(); ctInline.graphic.graphicData = new CT_GraphicalObjectData(); ctInline.graphic.graphicData.AddPicElement((XmlElement)element.Clone()); ctInline.distT = 0U; ctInline.distR = 0U; ctInline.distB = 0U; ctInline.distL = 0U; CT_NonVisualDrawingProps visualDrawingProps1 = ctInline.AddNewDocPr(); long num = this.GetParagraph().GetDocument().GetDrawingIdManager().ReserveNew(); visualDrawingProps1.id = (uint)num; visualDrawingProps1.name = "Drawing " + (object)num; visualDrawingProps1.descr = filename; CT_PositiveSize2D ctPositiveSize2D1 = ctInline.AddNewExtent(); ctPositiveSize2D1.cx = (long)width; ctPositiveSize2D1.cy = (long)height; NPOI.OpenXmlFormats.Dml.Picture.CT_Picture ctPicture = this.GetCTPictures((object)ctInline.graphic.graphicData)[0]; CT_PictureNonVisual pictureNonVisual = ctPicture.AddNewNvPicPr(); CT_NonVisualDrawingProps visualDrawingProps2 = pictureNonVisual.AddNewCNvPr(); visualDrawingProps2.id = 0U; visualDrawingProps2.name = "Picture " + (object)num; visualDrawingProps2.descr = filename; pictureNonVisual.AddNewCNvPicPr().AddNewPicLocks().noChangeAspect = true; CT_BlipFillProperties blipFillProperties = ctPicture.AddNewBlipFill(); blipFillProperties.AddNewBlip().embed = relationById.GetPackageRelationship().Id; blipFillProperties.AddNewStretch().AddNewFillRect(); CT_ShapeProperties ctShapeProperties = ctPicture.AddNewSpPr(); CT_Transform2D ctTransform2D = ctShapeProperties.AddNewXfrm(); CT_Point2D ctPoint2D = ctTransform2D.AddNewOff(); ctPoint2D.x = 0L; ctPoint2D.y = 0L; CT_PositiveSize2D ctPositiveSize2D2 = ctTransform2D.AddNewExt(); ctPositiveSize2D2.cx = (long)width; ctPositiveSize2D2.cy = (long)height; CT_PresetGeometry2D presetGeometry2D = ctShapeProperties.AddNewPrstGeom(); presetGeometry2D.prst = ST_ShapeType.rect; presetGeometry2D.AddNewAvLst(); XWPFPicture xwpfPicture = new XWPFPicture(ctPicture, this); this.pictures.Add(xwpfPicture); return(xwpfPicture); } catch (Exception ex) { throw new InvalidOperationException("", ex); } }
/** * Initialize default structure of a new auto-shape * */ public static CT_Connector Prototype() { CT_Connector shape = new CT_Connector(); CT_ConnectorNonVisual nv = shape.AddNewNvCxnSpPr(); NPOI.OpenXmlFormats.Dml.Spreadsheet.CT_NonVisualDrawingProps nvp = nv.AddNewCNvPr(); nvp.id = (1); nvp.name = ("Shape 1"); nv.AddNewCNvCxnSpPr(); NPOI.OpenXmlFormats.Dml.Spreadsheet.CT_ShapeProperties sp = shape.AddNewSpPr(); NPOI.OpenXmlFormats.Dml.Spreadsheet.CT_Transform2D t2d = sp.AddNewXfrm(); CT_PositiveSize2D p1 = t2d.AddNewExt(); p1.cx = (0); p1.cy = (0); CT_Point2D p2 = t2d.AddNewOff(); p2.x = (0); p2.y = (0); CT_PresetGeometry2D geom = sp.AddNewPrstGeom(); geom.prst = (ST_ShapeType.line); geom.AddNewAvLst(); NPOI.OpenXmlFormats.Dml.Spreadsheet.CT_ShapeStyle style = shape.AddNewStyle(); CT_SchemeColor scheme = style.AddNewLnRef().AddNewSchemeClr(); scheme.val = (ST_SchemeColorVal.accent1); style.lnRef.idx = (1); CT_StyleMatrixReference fillref = style.AddNewFillRef(); fillref.idx = (0); fillref.AddNewSchemeClr().val = (ST_SchemeColorVal.accent1); CT_StyleMatrixReference effectRef = style.AddNewEffectRef(); effectRef.idx = (0); effectRef.AddNewSchemeClr().val = (ST_SchemeColorVal.accent1); CT_FontReference fontRef = style.AddNewFontRef(); fontRef.idx = (ST_FontCollectionIndex.minor); fontRef.AddNewSchemeClr().val = (ST_SchemeColorVal.tx1); prototype = shape; return(prototype); }
internal static CT_Shape Prototype() { if (XSSFSimpleShape.prototype == null) { CT_Shape ctShape = new CT_Shape(); CT_ShapeNonVisual ctShapeNonVisual = ctShape.AddNewNvSpPr(); CT_NonVisualDrawingProps visualDrawingProps = ctShapeNonVisual.AddNewCNvPr(); visualDrawingProps.id = 1U; visualDrawingProps.name = "Shape 1"; ctShapeNonVisual.AddNewCNvSpPr(); CT_ShapeProperties ctShapeProperties = ctShape.AddNewSpPr(); CT_Transform2D ctTransform2D = ctShapeProperties.AddNewXfrm(); CT_PositiveSize2D ctPositiveSize2D = ctTransform2D.AddNewExt(); ctPositiveSize2D.cx = 0L; ctPositiveSize2D.cy = 0L; CT_Point2D ctPoint2D = ctTransform2D.AddNewOff(); ctPoint2D.x = 0L; ctPoint2D.y = 0L; CT_PresetGeometry2D presetGeometry2D = ctShapeProperties.AddNewPrstGeom(); presetGeometry2D.prst = ST_ShapeType.rect; presetGeometry2D.AddNewAvLst(); CT_ShapeStyle ctShapeStyle = ctShape.AddNewStyle(); CT_SchemeColor ctSchemeColor = ctShapeStyle.AddNewLnRef().AddNewSchemeClr(); ctSchemeColor.val = ST_SchemeColorVal.accent1; ctSchemeColor.AddNewShade().val = 50000; ctShapeStyle.lnRef.idx = 2U; CT_StyleMatrixReference styleMatrixReference1 = ctShapeStyle.AddNewFillRef(); styleMatrixReference1.idx = 1U; styleMatrixReference1.AddNewSchemeClr().val = ST_SchemeColorVal.accent1; CT_StyleMatrixReference styleMatrixReference2 = ctShapeStyle.AddNewEffectRef(); styleMatrixReference2.idx = 0U; styleMatrixReference2.AddNewSchemeClr().val = ST_SchemeColorVal.accent1; CT_FontReference ctFontReference = ctShapeStyle.AddNewFontRef(); ctFontReference.idx = ST_FontCollectionIndex.minor; ctFontReference.AddNewSchemeClr().val = ST_SchemeColorVal.lt1; CT_TextBody ctTextBody = ctShape.AddNewTxBody(); CT_TextBodyProperties textBodyProperties = ctTextBody.AddNewBodyPr(); textBodyProperties.anchor = ST_TextAnchoringType.ctr; textBodyProperties.rtlCol = false; CT_TextParagraph ctTextParagraph = ctTextBody.AddNewP(); ctTextParagraph.AddNewPPr().algn = ST_TextAlignType.ctr; CT_TextCharacterProperties characterProperties = ctTextParagraph.AddNewEndParaRPr(); characterProperties.lang = "en-US"; characterProperties.sz = 1100; ctTextBody.AddNewLstStyle(); XSSFSimpleShape.prototype = ctShape; } return(XSSFSimpleShape.prototype); }
/** * Prototype with the default structure of a new auto-shape. */ protected internal static CT_Shape Prototype() { // in poi, method XmlObject set(XmlObject srcObj) will create a copy of XmlObject // so this prototype object would be newly set to shape object // but in .net, the prototype object will be modified and keep its contents, would // affect next usage. so comment the following code, and create a new prototype object // for every calling of Prototype(). //if (prototype == null) { CT_Shape shape = new CT_Shape(); CT_ShapeNonVisual nv = shape.AddNewNvSpPr(); NPOI.OpenXmlFormats.Dml.Spreadsheet.CT_NonVisualDrawingProps nvp = nv.AddNewCNvPr(); nvp.id = (/*setter*/ 1); nvp.name = (/*setter*/ "Shape 1"); nv.AddNewCNvSpPr(); NPOI.OpenXmlFormats.Dml.Spreadsheet.CT_ShapeProperties sp = shape.AddNewSpPr(); CT_Transform2D t2d = sp.AddNewXfrm(); CT_PositiveSize2D p1 = t2d.AddNewExt(); p1.cx = (/*setter*/ 0); p1.cy = (/*setter*/ 0); CT_Point2D p2 = t2d.AddNewOff(); p2.x = (/*setter*/ 0); p2.y = (/*setter*/ 0); CT_PresetGeometry2D geom = sp.AddNewPrstGeom(); geom.prst = (/*setter*/ ST_ShapeType.rect); geom.AddNewAvLst(); NPOI.OpenXmlFormats.Dml.Spreadsheet.CT_TextBody body = shape.AddNewTxBody(); CT_TextBodyProperties bodypr = body.AddNewBodyPr(); bodypr.anchor = (/*setter*/ ST_TextAnchoringType.t); bodypr.rtlCol = (/*setter*/ false); CT_TextParagraph p = body.AddNewP(); p.AddNewPPr().algn = (/*setter*/ ST_TextAlignType.l); CT_TextCharacterProperties endPr = p.AddNewEndParaRPr(); endPr.lang = (/*setter*/ "en-US"); endPr.sz = (/*setter*/ 1100); CT_SolidColorFillProperties scfpr = endPr.AddNewSolidFill(); scfpr.AddNewSrgbClr().val = (/*setter*/ new byte[] { 0, 0, 0 }); body.AddNewLstStyle(); prototype = shape; } return(prototype); }
public XSSFChildAnchor(int x, int y, int cx, int cy) { t2d = new NPOI.OpenXmlFormats.Dml.Spreadsheet.CT_Transform2D(); CT_Point2D off = t2d.AddNewOff(); CT_PositiveSize2D ext = t2d.AddNewExt(); off.x = (x); off.y = (y); ext.cx = (Math.Abs(cx - x)); ext.cy = (Math.Abs(cy - y)); if (x > cx) { t2d.flipH = (true); } if (y > cy) { t2d.flipV = (true); } }
/** * Prototype with the default structure of a new auto-shape. */ protected internal static CT_Shape GetPrototype() { if (prototype == null) { CT_Shape shape = new CT_Shape(); CT_ShapeNonVisual nv = shape.AddNewNvSpPr(); NPOI.OpenXmlFormats.Dml.Spreadsheet.CT_NonVisualDrawingProps nvp = nv.AddNewCNvPr(); nvp.id = (/*setter*/ 1); nvp.name = (/*setter*/ "Shape 1"); nv.AddNewCNvSpPr(); NPOI.OpenXmlFormats.Dml.Spreadsheet.CT_ShapeProperties sp = shape.AddNewSpPr(); NPOI.OpenXmlFormats.Dml.Spreadsheet.CT_Transform2D t2d = sp.AddNewXfrm(); CT_PositiveSize2D p1 = t2d.AddNewExt(); p1.cx = (/*setter*/ 0); p1.cy = (/*setter*/ 0); CT_Point2D p2 = t2d.AddNewOff(); p2.x = (/*setter*/ 0); p2.y = (/*setter*/ 0); CT_PresetGeometry2D geom = sp.AddNewPrstGeom(); geom.prst = (/*setter*/ ST_ShapeType.rect); geom.AddNewAvLst(); NPOI.OpenXmlFormats.Dml.Spreadsheet.CT_TextBody body = shape.AddNewTxBody(); CT_TextBodyProperties bodypr = body.AddNewBodyPr(); bodypr.anchor = (/*setter*/ ST_TextAnchoringType.t); bodypr.rtlCol = (/*setter*/ false); CT_TextParagraph p = body.AddNewP(); p.AddNewPPr().algn = (/*setter*/ ST_TextAlignType.l); CT_TextCharacterProperties endPr = p.AddNewEndParaRPr(); endPr.lang = (/*setter*/ "en-US"); endPr.sz = (/*setter*/ 1100); CT_SolidColorFillProperties scfpr = endPr.AddNewSolidFill(); scfpr.AddNewSrgbClr().val = (/*setter*/ new byte[] { 0, 0, 0 }); body.AddNewLstStyle(); prototype = shape; } return(prototype); }
public XSSFChildAnchor(int x, int y, int cx, int cy) { this.t2d = new CT_Transform2D(); CT_Point2D ctPoint2D = this.t2d.AddNewOff(); CT_PositiveSize2D ctPositiveSize2D = this.t2d.AddNewExt(); ctPoint2D.x = (long)x; ctPoint2D.y = (long)y; ctPositiveSize2D.cx = (long)Math.Abs(cx - x); ctPositiveSize2D.cy = (long)Math.Abs(cy - y); if (x > cx) { this.t2d.flipH = true; } if (y <= cy) { return; } this.t2d.flipV = true; }
public void SetCoordinates(int x1, int y1, int x2, int y2) { CT_GroupTransform2D xfrm = this.ctGroup.grpSpPr.xfrm; CT_Point2D off = xfrm.off; off.x = (long)x1; off.y = (long)y1; CT_PositiveSize2D ext = xfrm.ext; ext.cx = (long)x2; ext.cy = (long)y2; CT_Point2D chOff = xfrm.chOff; chOff.x = (long)x1; chOff.y = (long)y1; CT_PositiveSize2D chExt = xfrm.chExt; chExt.cx = (long)x2; chExt.cy = (long)y2; }
/** * Sets the coordinate space of this group. All children are constrained * to these coordinates. */ public void SetCoordinates(int x1, int y1, int x2, int y2) { CT_GroupTransform2D t2d = ctGroup.grpSpPr.xfrm; CT_Point2D off = t2d.off; off.x = (x1); off.y = (y1); CT_PositiveSize2D ext = t2d.ext; ext.cx = (x2); ext.cy = (y2); CT_Point2D chOff = t2d.chOff; chOff.x = (x1); chOff.y = (y1); CT_PositiveSize2D chExt = t2d.chExt; chExt.cx = (x2); chExt.cy = (y2); }
public static CT_GraphicalObjectFrame Prototype() { if (XSSFGraphicFrame.prototype == null) { CT_GraphicalObjectFrame graphicalObjectFrame = new CT_GraphicalObjectFrame(); CT_GraphicalObjectFrameNonVisual objectFrameNonVisual = graphicalObjectFrame.AddNewNvGraphicFramePr(); CT_NonVisualDrawingProps visualDrawingProps = objectFrameNonVisual.AddNewCNvPr(); visualDrawingProps.id = 0U; visualDrawingProps.name = "Diagramm 1"; objectFrameNonVisual.AddNewCNvGraphicFramePr(); CT_Transform2D ctTransform2D = graphicalObjectFrame.AddNewXfrm(); CT_PositiveSize2D ctPositiveSize2D = ctTransform2D.AddNewExt(); CT_Point2D ctPoint2D = ctTransform2D.AddNewOff(); ctPositiveSize2D.cx = 0L; ctPositiveSize2D.cy = 0L; ctPoint2D.x = 0L; ctPoint2D.y = 0L; graphicalObjectFrame.AddNewGraphic(); XSSFGraphicFrame.prototype = graphicalObjectFrame; } return(XSSFGraphicFrame.prototype); }
internal static CT_Picture Prototype() { CT_Picture pic = new CT_Picture(); CT_PictureNonVisual nvpr = pic.AddNewNvPicPr(); NPOI.OpenXmlFormats.Dml.Spreadsheet.CT_NonVisualDrawingProps nvProps = nvpr.AddNewCNvPr(); nvProps.id = (1); nvProps.name = ("Picture 1"); nvProps.descr = ("Picture"); NPOI.OpenXmlFormats.Dml.Spreadsheet.CT_NonVisualPictureProperties nvPicProps = nvpr.AddNewCNvPicPr(); nvPicProps.AddNewPicLocks().noChangeAspect = true; NPOI.OpenXmlFormats.Dml.Spreadsheet.CT_BlipFillProperties blip = pic.AddNewBlipFill(); blip.AddNewBlip().embed = ""; blip.AddNewStretch().AddNewFillRect(); NPOI.OpenXmlFormats.Dml.Spreadsheet.CT_ShapeProperties sppr = pic.AddNewSpPr(); CT_Transform2D t2d = sppr.AddNewXfrm(); CT_PositiveSize2D ext = t2d.AddNewExt(); //should be original picture width and height expressed in EMUs ext.cx = (0); ext.cy = (0); CT_Point2D off = t2d.AddNewOff(); off.x = (0); off.y = (0); CT_PresetGeometry2D prstGeom = sppr.AddNewPrstGeom(); prstGeom.prst = (ST_ShapeType.rect); prstGeom.AddNewAvLst(); prototype = pic; return(prototype); }
public static CT_Connector Prototype() { if (XSSFConnector.prototype == null) { CT_Connector ctConnector = new CT_Connector(); CT_ConnectorNonVisual connectorNonVisual = ctConnector.AddNewNvCxnSpPr(); CT_NonVisualDrawingProps visualDrawingProps = connectorNonVisual.AddNewCNvPr(); visualDrawingProps.id = 1U; visualDrawingProps.name = "Shape 1"; connectorNonVisual.AddNewCNvCxnSpPr(); CT_ShapeProperties ctShapeProperties = ctConnector.AddNewSpPr(); CT_Transform2D ctTransform2D = ctShapeProperties.AddNewXfrm(); CT_PositiveSize2D ctPositiveSize2D = ctTransform2D.AddNewExt(); ctPositiveSize2D.cx = 0L; ctPositiveSize2D.cy = 0L; CT_Point2D ctPoint2D = ctTransform2D.AddNewOff(); ctPoint2D.x = 0L; ctPoint2D.y = 0L; CT_PresetGeometry2D presetGeometry2D = ctShapeProperties.AddNewPrstGeom(); presetGeometry2D.prst = ST_ShapeType.line; presetGeometry2D.AddNewAvLst(); CT_ShapeStyle ctShapeStyle = ctConnector.AddNewStyle(); ctShapeStyle.AddNewLnRef().AddNewSchemeClr().val = ST_SchemeColorVal.accent1; ctShapeStyle.lnRef.idx = 1U; CT_StyleMatrixReference styleMatrixReference1 = ctShapeStyle.AddNewFillRef(); styleMatrixReference1.idx = 0U; styleMatrixReference1.AddNewSchemeClr().val = ST_SchemeColorVal.accent1; CT_StyleMatrixReference styleMatrixReference2 = ctShapeStyle.AddNewEffectRef(); styleMatrixReference2.idx = 0U; styleMatrixReference2.AddNewSchemeClr().val = ST_SchemeColorVal.accent1; CT_FontReference ctFontReference = ctShapeStyle.AddNewFontRef(); ctFontReference.idx = ST_FontCollectionIndex.minor; ctFontReference.AddNewSchemeClr().val = ST_SchemeColorVal.tx1; XSSFConnector.prototype = ctConnector; } return(XSSFConnector.prototype); }
XWPFPicture AddPicture(Stream pictureData, int pictureType, String filename, int width, int height, Action <XWPFDocument, CT_Blip> extAct) { // Add the picture + relationship String relationId; XWPFPictureData picData; XWPFDocument doc = null; // Work out what to add the picture to, then add both the // picture and the relationship for it // TODO Should we have an interface for this sort of thing? if (parent.Part is XWPFHeaderFooter) { XWPFHeaderFooter headerFooter = (XWPFHeaderFooter)parent.Part; relationId = headerFooter.AddPictureData(pictureData, pictureType); picData = (XWPFPictureData)headerFooter.GetRelationById(relationId); } else { doc = parent.Document; relationId = doc.AddPictureData(pictureData, pictureType); picData = (XWPFPictureData)doc.GetRelationById(relationId); } try { // Create the Drawing entry for it CT_Drawing Drawing = run.AddNewDrawing(); CT_Inline inline = Drawing.AddNewInline(); // Do the fiddly namespace bits on the inline // (We need full control of what goes where and as what) //CT_GraphicalObject tmp = new CT_GraphicalObject(); //String xml = // "<a:graphic xmlns:a=\"" + "http://schemas.openxmlformats.org/drawingml/2006/main" + "\">" + // "<a:graphicData uri=\"" + "http://schemas.openxmlformats.org/drawingml/2006/picture" + "\">" + // "<pic:pic xmlns:pic=\"" + "http://schemas.openxmlformats.org/drawingml/2006/picture" + "\" />" + // "</a:graphicData>" + // "</a:graphic>"; //InputSource is = new InputSource(new StringReader(xml)); //org.w3c.dom.Document doc = DocumentHelper.readDocument(is); //inline.set(XmlToken.Factory.parse(doc.getDocumentElement(), DEFAULT_XML_OPTIONS)); inline.graphic = new CT_GraphicalObject(); inline.graphic.graphicData = new CT_GraphicalObjectData(); inline.graphic.graphicData.uri = "http://schemas.openxmlformats.org/drawingml/2006/picture"; // Setup the inline inline.distT = (0); inline.distR = (0); inline.distB = (0); inline.distL = (0); NPOI.OpenXmlFormats.Dml.WordProcessing.CT_NonVisualDrawingProps docPr = inline.AddNewDocPr(); long id = parent.Document.DrawingIdManager.ReserveNew(); docPr.id = (uint)(id); /* This name is not visible in Word 2010 anywhere. */ docPr.name = ("Drawing " + id); docPr.descr = (filename); NPOI.OpenXmlFormats.Dml.WordProcessing.CT_PositiveSize2D extent = inline.AddNewExtent(); extent.cx = (width); extent.cy = (height); // Grab the picture object NPOI.OpenXmlFormats.Dml.Picture.CT_Picture pic = new OpenXmlFormats.Dml.Picture.CT_Picture(); // Set it up NPOI.OpenXmlFormats.Dml.Picture.CT_PictureNonVisual nvPicPr = pic.AddNewNvPicPr(); NPOI.OpenXmlFormats.Dml.CT_NonVisualDrawingProps cNvPr = nvPicPr.AddNewCNvPr(); /* use "0" for the id. See ECM-576, 20.2.2.3 */ cNvPr.id = (0); /* This name is not visible in Word 2010 anywhere */ cNvPr.name = ("Picture " + id); cNvPr.descr = (filename); CT_NonVisualPictureProperties cNvPicPr = nvPicPr.AddNewCNvPicPr(); cNvPicPr.AddNewPicLocks().noChangeAspect = true; CT_BlipFillProperties blipFill = pic.AddNewBlipFill(); CT_Blip blip = blipFill.AddNewBlip(); blip.embed = (picData.GetPackageRelationship().Id); if (doc != null) { extAct(doc, blip); } blipFill.AddNewStretch().AddNewFillRect(); CT_ShapeProperties spPr = pic.AddNewSpPr(); CT_Transform2D xfrm = spPr.AddNewXfrm(); CT_Point2D off = xfrm.AddNewOff(); off.x = (0); off.y = (0); NPOI.OpenXmlFormats.Dml.CT_PositiveSize2D ext = xfrm.AddNewExt(); ext.cx = (width); ext.cy = (height); CT_PresetGeometry2D prstGeom = spPr.AddNewPrstGeom(); prstGeom.prst = (ST_ShapeType.rect); prstGeom.AddNewAvLst(); using (var ms = new MemoryStream()) { StreamWriter sw = new StreamWriter(ms); pic.Write(sw, "pic:pic"); sw.Flush(); ms.Position = 0; var sr = new StreamReader(ms); var picXml = sr.ReadToEnd(); inline.graphic.graphicData.AddPicElement(picXml); } // Finish up XWPFPicture xwpfPicture = new XWPFPicture(pic, this); pictures.Add(xwpfPicture); return(xwpfPicture); } catch (XmlException e) { throw new InvalidOperationException("XWPFRun.Addpicture error", e); } }
/** * Adds a picture to the run. This method handles * attaching the picture data to the overall file. * * @see NPOI.XWPF.UserModel.Document#PICTURE_TYPE_EMF * @see NPOI.XWPF.UserModel.Document#PICTURE_TYPE_WMF * @see NPOI.XWPF.UserModel.Document#PICTURE_TYPE_PICT * @see NPOI.XWPF.UserModel.Document#PICTURE_TYPE_JPEG * @see NPOI.XWPF.UserModel.Document#PICTURE_TYPE_PNG * @see NPOI.XWPF.UserModel.Document#PICTURE_TYPE_DIB * * @param pictureData The raw picture data * @param pictureType The type of the picture, eg {@link Document#PICTURE_TYPE_JPEG} * @param width width in EMUs. To convert to / from points use {@link org.apache.poi.util.Units} * @param height height in EMUs. To convert to / from points use {@link org.apache.poi.util.Units} * @throws NPOI.Openxml4j.exceptions.InvalidFormatException * @throws IOException */ public XWPFPicture AddPicture(Stream pictureData, int pictureType, String filename, int width, int height) { XWPFDocument doc = parent.Document; // Add the picture + relationship String relationId = doc.AddPictureData(pictureData, pictureType); XWPFPictureData picData = (XWPFPictureData)doc.GetRelationById(relationId); // Create the Drawing entry for it CT_Drawing Drawing = run.AddNewDrawing(); CT_Inline inline = Drawing.AddNewInline(); // Do the fiddly namespace bits on the inline // (We need full control of what goes where and as what) //CT_GraphicalObject tmp = new CT_GraphicalObject(); //String xml = // "<a:graphic xmlns:a=\"" + "http://schemas.openxmlformats.org/drawingml/2006/main" + "\">" + // "<a:graphicData uri=\"" + "http://schemas.openxmlformats.org/drawingml/2006/picture" + "\">" + // "<pic:pic xmlns:pic=\"" + "http://schemas.openxmlformats.org/drawingml/2006/picture" + "\" />" + // "</a:graphicData>" + // "</a:graphic>"; //inline.Set((xml)); XmlDocument xmlDoc = new XmlDocument(); //XmlElement el = xmlDoc.CreateElement("pic", "pic", "http://schemas.openxmlformats.org/drawingml/2006/picture"); inline.graphic = new CT_GraphicalObject(); inline.graphic.graphicData = new CT_GraphicalObjectData(); inline.graphic.graphicData.uri = "http://schemas.openxmlformats.org/drawingml/2006/picture"; // Setup the inline inline.distT = (0); inline.distR = (0); inline.distB = (0); inline.distL = (0); NPOI.OpenXmlFormats.Dml.WordProcessing.CT_NonVisualDrawingProps docPr = inline.AddNewDocPr(); long id = parent.Document.DrawingIdManager.ReserveNew(); docPr.id = (uint)(id); /* This name is not visible in Word 2010 anywhere. */ docPr.name = ("Drawing " + id); docPr.descr = (filename); NPOI.OpenXmlFormats.Dml.WordProcessing.CT_PositiveSize2D extent = inline.AddNewExtent(); extent.cx = (width); extent.cy = (height); // Grab the picture object NPOI.OpenXmlFormats.Dml.Picture.CT_Picture pic = new OpenXmlFormats.Dml.Picture.CT_Picture(); // Set it up NPOI.OpenXmlFormats.Dml.Picture.CT_PictureNonVisual nvPicPr = pic.AddNewNvPicPr(); NPOI.OpenXmlFormats.Dml.CT_NonVisualDrawingProps cNvPr = nvPicPr.AddNewCNvPr(); /* use "0" for the id. See ECM-576, 20.2.2.3 */ cNvPr.id = (0); /* This name is not visible in Word 2010 anywhere */ cNvPr.name = ("Picture " + id); cNvPr.descr = (filename); CT_NonVisualPictureProperties cNvPicPr = nvPicPr.AddNewCNvPicPr(); cNvPicPr.AddNewPicLocks().noChangeAspect = true; CT_BlipFillProperties blipFill = pic.AddNewBlipFill(); CT_Blip blip = blipFill.AddNewBlip(); blip.embed = (picData.GetPackageRelationship().Id); blipFill.AddNewStretch().AddNewFillRect(); CT_ShapeProperties spPr = pic.AddNewSpPr(); CT_Transform2D xfrm = spPr.AddNewXfrm(); CT_Point2D off = xfrm.AddNewOff(); off.x = (0); off.y = (0); NPOI.OpenXmlFormats.Dml.CT_PositiveSize2D ext = xfrm.AddNewExt(); ext.cx = (width); ext.cy = (height); CT_PresetGeometry2D prstGeom = spPr.AddNewPrstGeom(); prstGeom.prst = (ST_ShapeType.rect); prstGeom.AddNewAvLst(); using (var ms = new MemoryStream()) { StreamWriter sw = new StreamWriter(ms); pic.Write(sw, "pic:pic"); sw.Flush(); ms.Position = 0; var sr = new StreamReader(ms); var picXml = sr.ReadToEnd(); inline.graphic.graphicData.AddPicElement(picXml); } // Finish up XWPFPicture xwpfPicture = new XWPFPicture(pic, this); pictures.Add(xwpfPicture); return(xwpfPicture); }
protected void Button1_Click(object sender, EventArgs e) { //图片位置 String m_PicPath = @"C:\ttt.jpeg"; FileStream gfs = null; MemoryStream ms = new MemoryStream(); XWPFDocument m_Docx = new XWPFDocument(); //页面设置 //A4:W=11906,h=16838 //CT_SectPr m_SectPr = m_Docx.Document.body.AddNewSectPr(); m_Docx.Document.body.sectPr = new CT_SectPr(); CT_SectPr m_SectPr = m_Docx.Document.body.sectPr; //页面设置A4纵向 m_SectPr.pgSz.h = (ulong)16838; m_SectPr.pgSz.w = (ulong)11906; XWPFParagraph gp = m_Docx.CreateParagraph(); // gp.GetCTPPr().AddNewJc().val = ST_Jc.center; //水平居中 XWPFRun gr = gp.CreateRun(); gr.GetCTR().AddNewRPr().AddNewRFonts().ascii = "黑体"; gr.GetCTR().AddNewRPr().AddNewRFonts().eastAsia = "黑体"; gr.GetCTR().AddNewRPr().AddNewRFonts().hint = ST_Hint.eastAsia; gr.GetCTR().AddNewRPr().AddNewSz().val = (ulong)44; //2号字体 gr.GetCTR().AddNewRPr().AddNewSzCs().val = (ulong)44; gr.GetCTR().AddNewRPr().AddNewB().val = true; //加粗 gr.GetCTR().AddNewRPr().AddNewColor().val = "red"; //字体颜色 gr.SetText("NPOI创建Word2007Docx"); gp = m_Docx.CreateParagraph(); //gp.GetCTPPr().AddNewJc().val = ST_Jc.both; // gp.IndentationFirstLine = Indentation("宋体", 21, 2, FontStyle.Regular);//段首行缩进2字符 gp.IndentationFirstLine = 15; gr = gp.CreateRun(); CT_RPr rpr = gr.GetCTR().AddNewRPr(); CT_Fonts rfonts = rpr.AddNewRFonts(); rfonts.ascii = "宋体"; rfonts.eastAsia = "宋体"; rpr.AddNewSz().val = (ulong)21;//5号字体 rpr.AddNewSzCs().val = (ulong)21; gr.SetText("NPOI,顾名思义,就是POI的.NET版本。那POI又是什么呢?POI是一套用Java写成的库,能够帮助开 发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等 。目前POI的稳定版本中支持Excel文件格式(xls和xlsx),其他的都属于不稳定版本(放在poi的scrachpad目录 中)。"); //创建表 XWPFTable table = m_Docx.CreateTable(1, 4); //创建一行4列表 CT_Tbl m_CTTbl = m_Docx.Document.body.GetTblArray()[0]; //获得文档第一张表 CT_TblPr m_CTTblPr = m_CTTbl.AddNewTblPr(); m_CTTblPr.AddNewTblW().w = "2000"; //表宽 m_CTTblPr.AddNewTblW().type = ST_TblWidth.dxa; m_CTTblPr.tblpPr = new CT_TblPPr(); //表定位 m_CTTblPr.tblpPr.tblpX = "4003"; //表左上角坐标 m_CTTblPr.tblpPr.tblpY = "365"; m_CTTblPr.tblpPr.tblpXSpec = ST_XAlign.center; //若不为“Null”,则优先tblpX,即表由tblpXSpec定位 m_CTTblPr.tblpPr.tblpYSpec = ST_YAlign.center; //若不为“Null”,则优先tblpY,即表由tblpYSpec定位 m_CTTblPr.tblpPr.leftFromText = (ulong)180; m_CTTblPr.tblpPr.rightFromText = (ulong)180; m_CTTblPr.tblpPr.vertAnchor = ST_VAnchor.text; m_CTTblPr.tblpPr.horzAnchor = ST_HAnchor.page; //表1行4列充值:a,b,c,d table.GetRow(0).GetCell(0).SetText("a"); table.GetRow(0).GetCell(1).SetText("b"); table.GetRow(0).GetCell(2).SetText("c"); table.GetRow(0).GetCell(3).SetText("d"); CT_Row m_NewRow = new CT_Row();//创建1行 XWPFTableRow m_Row = new XWPFTableRow(m_NewRow, table); table.AddRow(m_Row); //必须要!!! XWPFTableCell cell = m_Row.CreateCell(); //创建单元格,也创建了一个CT_P CT_Tc cttc = cell.GetCTTc(); CT_TcPr ctPr = cttc.AddNewTcPr(); //ctPr.gridSpan.val = "3";//合并3列 cttc.GetPList()[0].AddNewPPr().AddNewJc().val = ST_Jc.center; cttc.GetPList()[0].AddNewR().AddNewT().Value = "666"; cell = m_Row.CreateCell();//创建单元格,也创建了一个CT_P cell.GetCTTc().GetPList()[0].AddNewPPr().AddNewJc().val = ST_Jc.center; cell.GetCTTc().GetPList()[0].AddNewR().AddNewT().Value = "e"; //合并3列,合并2行 //1行 m_NewRow = new CT_Row(); m_Row = new XWPFTableRow(m_NewRow, table); table.AddRow(m_Row); cell = m_Row.CreateCell(); //第1单元格 cell.SetText("f"); cell = m_Row.CreateCell(); //从第2单元格开始合并 cttc = cell.GetCTTc(); ctPr = cttc.AddNewTcPr(); // ctPr.gridSpan.val = "3";//合并3列 ctPr.AddNewVMerge().val = ST_Merge.restart; //开始合并行 ctPr.AddNewVAlign().val = ST_VerticalJc.center; //垂直居中 cttc.GetPList()[0].AddNewPPr().AddNewJc().val = ST_Jc.center; cttc.GetPList()[0].AddNewR().AddNewT().Value = "777"; //2行 m_NewRow = new CT_Row(); m_Row = new XWPFTableRow(m_NewRow, table); table.AddRow(m_Row); cell = m_Row.CreateCell(); //第1单元格 cell.SetText("g"); cell = m_Row.CreateCell(); //第2单元格 cttc = cell.GetCTTc(); ctPr = cttc.AddNewTcPr(); // ctPr.gridSpan.val = "3";//合并3列 ctPr.AddNewVMerge().val = ST_Merge.@continue;//继续合并行 //表插入图片 m_NewRow = new CT_Row(); m_Row = new XWPFTableRow(m_NewRow, table); table.AddRow(m_Row); cell = m_Row.CreateCell();//第1单元格 //inline方式插入图片 //gp = table.GetRow(table.Rows.Count - 1).GetCell(0).GetParagraph(table.GetRow(table.Rows.Count - 1).GetCell(0).GetCTTc().GetPList()[0]);//获得指定表单元格的段 gp = cell.GetParagraph(cell.GetCTTc().GetPList()[0]); gr = gp.CreateRun(); //创建run gfs = new FileStream(m_PicPath, FileMode.Open, FileAccess.Read); //读取图片文件 gr.AddPicture(gfs, (int)PictureType.PNG, "1.jpg", 500000, 500000); //插入图片 gfs.Close(); //Anchor方式插入图片 CT_Anchor an = new CT_Anchor(); an.distB = (uint)(0); an.distL = 114300u; an.distR = 114300U; an.distT = 0U; an.relativeHeight = 251658240u; an.behindDoc = false; //"0" an.locked = false; //"0" an.layoutInCell = true; //"1" an.allowOverlap = true; //"1" NPOI.OpenXmlFormats.Dml.CT_Point2D simplePos = new NPOI.OpenXmlFormats.Dml.CT_Point2D(); simplePos.x = (long)0; simplePos.y = (long)0; CT_EffectExtent effectExtent = new CT_EffectExtent(); effectExtent.b = 0L; effectExtent.l = 0L; effectExtent.r = 0L; effectExtent.t = 0L; //wrapSquare(四周) cell = m_Row.CreateCell(); //第2单元格 gp = cell.GetParagraph(cell.GetCTTc().GetPList()[0]); gr = gp.CreateRun(); //创建run CT_WrapSquare wrapSquare = new CT_WrapSquare(); wrapSquare.wrapText = ST_WrapText.bothSides; gfs = new FileStream(m_PicPath, FileMode.Open, FileAccess.Read);//读取图片文件 // gr.AddPicture(gfs, (int)PictureType.PNG, "1.png", 500000, 500000, 0, 0, wrapSquare, an, simplePos, ST_RelFromH.column, ST_RelFromV.paragraph, effectExtent); gr.AddPicture(gfs, (int)PictureType.PNG, "虚拟机", 500000, 500000); gfs.Close(); //wrapTight(紧密) cell = m_Row.CreateCell(); //第3单元格 gp = cell.GetParagraph(cell.GetCTTc().GetPList()[0]); gr = gp.CreateRun(); //创建run CT_WrapTight wrapTight = new CT_WrapTight(); wrapTight.wrapText = ST_WrapText.bothSides; wrapTight.wrapPolygon = new CT_WrapPath(); wrapTight.wrapPolygon.edited = false; wrapTight.wrapPolygon.start = new CT_Point2D(); wrapTight.wrapPolygon.start.x = 0; wrapTight.wrapPolygon.start.y = 0; CT_Point2D lineTo = new CT_Point2D(); wrapTight.wrapPolygon.lineTo = new List <CT_Point2D>(); lineTo = new CT_Point2D(); lineTo.x = 0; lineTo.y = 1343; wrapTight.wrapPolygon.lineTo.Add(lineTo); lineTo = new CT_Point2D(); lineTo.x = 21405; lineTo.y = 1343; wrapTight.wrapPolygon.lineTo.Add(lineTo); lineTo = new CT_Point2D(); lineTo.x = 21405; lineTo.y = 0; wrapTight.wrapPolygon.lineTo.Add(lineTo); lineTo.x = 0; lineTo.y = 0; wrapTight.wrapPolygon.lineTo.Add(lineTo); gfs = new FileStream(m_PicPath, FileMode.Open, FileAccess.Read);//读取图片文件 //gr.AddPicture(gfs, (int)PictureType.PNG, "1.png", 500000, 500000, 0, 0, wrapTight, an, simplePos, ST_RelFromH.column, ST_RelFromV.paragraph, effectExtent); gr.AddPicture(gfs, (int)PictureType.PNG, "虚拟机", 500000, 500000); gfs.Close(); //wrapThrough(穿越) cell = m_Row.CreateCell(); //第4单元格 gp = cell.GetParagraph(cell.GetCTTc().GetPList()[0]); gr = gp.CreateRun(); //创建run gfs = new FileStream(m_PicPath, FileMode.Open, FileAccess.Read); //读取图片文件 CT_WrapThrough wrapThrough = new CT_WrapThrough(); wrapThrough.wrapText = ST_WrapText.bothSides; wrapThrough.wrapPolygon = new CT_WrapPath(); wrapThrough.wrapPolygon.edited = false; wrapThrough.wrapPolygon.start = new CT_Point2D(); wrapThrough.wrapPolygon.start.x = 0; wrapThrough.wrapPolygon.start.y = 0; lineTo = new CT_Point2D(); wrapThrough.wrapPolygon.lineTo = new List <CT_Point2D>(); lineTo = new CT_Point2D(); lineTo.x = 0; lineTo.y = 1343; wrapThrough.wrapPolygon.lineTo.Add(lineTo); lineTo = new CT_Point2D(); lineTo.x = 21405; lineTo.y = 1343; wrapThrough.wrapPolygon.lineTo.Add(lineTo); lineTo = new CT_Point2D(); lineTo.x = 21405; lineTo.y = 0; wrapThrough.wrapPolygon.lineTo.Add(lineTo); lineTo.x = 0; lineTo.y = 0; wrapThrough.wrapPolygon.lineTo.Add(lineTo); // gr.AddPicture(gfs, (int)PictureType.PNG, "15.png", 500000, 500000, 0, 0, wrapThrough, an, simplePos, ST_RelFromH.column, ST_RelFromV.paragraph, effectExtent); gr.AddPicture(gfs, (int)PictureType.PNG, "虚拟机", 500000, 500000); gfs.Close(); gp = m_Docx.CreateParagraph(); //gp.GetCTPPr().AddNewJc().val = ST_Jc.both; // gp.IndentationFirstLine = Indentation("宋体", 21, 2, FontStyle.Regular);//段首行缩进2字符 gp.IndentationFirstLine = 15; gr = gp.CreateRun(); gr.SetText("NPOI是POI项目的.NET版本。POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。使用NPOI你就可以在没有安装Office或者相应环境的机器上对WORD/EXCEL文档进行读写。NPOI是构建在POI3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作。"); gp = m_Docx.CreateParagraph(); // gp.GetCTPPr().AddNewJc().val = ST_Jc.both; //gp.IndentationFirstLine = Indentation("宋体", 21, 2, FontStyle.Regular);//段首行缩进2字符 gp.IndentationFirstLine = 15; gr = gp.CreateRun(); gr.SetText("NPOI之所以强大,并不是因为它支持导出Excel,而是因为它支持导入Excel,并能“理解”OLE2文档结构,这也是其他一些Excel读写库比较弱的方面。通常,读入并理解结构远比导出来得复杂,因为导入你必须假设一切情况都是可能的,而生成你只要保证满足你自己需求就可以了,如果把导入需求和生成需求比做两个集合,那么生成需求通常都是导入需求的子集。"); //在本段中插图-wrapSquare //gr = gp.CreateRun();//创建run wrapSquare = new CT_WrapSquare(); wrapSquare.wrapText = ST_WrapText.bothSides; gfs = new FileStream(m_PicPath, FileMode.Open, FileAccess.Read);//读取图片文件 // gr.AddPicture(gfs, (int)PictureType.PNG, "15.png", 500000, 500000, 900000, 200000, wrapSquare, an, simplePos, ST_RelFromH.column, ST_RelFromV.paragraph, effectExtent); gr.AddPicture(gfs, (int)PictureType.PNG, "虚拟机", 500000, 500000); gfs.Close(); m_Docx.Write(ms); ms.Flush(); SaveToFile(ms, Path.GetPathRoot(Directory.GetCurrentDirectory()) + "\\NPOI.docx"); }
public CT_Point2D AddNewOff() { this.offField = new CT_Point2D(); return this.offField; }
/** * Prototype with the default structure of a new auto-shape. */ internal static CT_Shape Prototype() { if (prototype == null) { CT_Shape shape = new CT_Shape(); CT_ShapeNonVisual nv = shape.AddNewNvSpPr(); CT_NonVisualDrawingProps nvp = nv.AddNewCNvPr(); nvp.id = (1); nvp.name = ("Shape 1"); nv.AddNewCNvSpPr(); CT_ShapeProperties sp = shape.AddNewSpPr(); CT_Transform2D t2d = sp.AddNewXfrm(); CT_PositiveSize2D p1 = t2d.AddNewExt(); p1.cx = (0); p1.cy = (0); CT_Point2D p2 = t2d.AddNewOff(); p2.x = (0); p2.y = (0); CT_PresetGeometry2D geom = sp.AddNewPrstGeom(); geom.prst = (ST_ShapeType.rect); geom.AddNewAvLst(); CT_ShapeStyle style = shape.AddNewStyle(); CT_SchemeColor scheme = style.AddNewLnRef().AddNewSchemeClr(); scheme.val = (ST_SchemeColorVal.accent1); scheme.AddNewShade().val = 50000; style.lnRef.idx = (2); CT_StyleMatrixReference Fillref = style.AddNewFillRef(); Fillref.idx = (1); Fillref.AddNewSchemeClr().val = (ST_SchemeColorVal.accent1); CT_StyleMatrixReference effectRef = style.AddNewEffectRef(); effectRef.idx = (0); effectRef.AddNewSchemeClr().val = (ST_SchemeColorVal.accent1); CT_FontReference fontRef = style.AddNewFontRef(); fontRef.idx = (ST_FontCollectionIndex.minor); fontRef.AddNewSchemeClr().val = (ST_SchemeColorVal.lt1); CT_TextBody body = shape.AddNewTxBody(); CT_TextBodyProperties bodypr = body.AddNewBodyPr(); bodypr.anchor = (ST_TextAnchoringType.ctr); bodypr.rtlCol = (false); CT_TextParagraph p = body.AddNewP(); p.AddNewPPr().algn = (ST_TextAlignType.ctr); CT_TextCharacterProperties endPr = p.AddNewEndParaRPr(); endPr.lang = ("en-US"); endPr.sz = (1100); body.AddNewLstStyle(); prototype = shape; } return(prototype); }