{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://example.com/pptx-presentation.schema.json", "title": "PPTX Presentation Schema", "description": "JSON Schema for PPTX presentation intermediate representation covering all pptxgenjs parameters", "type": "object", "definitions": { "coord": { "oneOf": [ { "type": "number" }, { "type": "string", "pattern": "^\\d+(\\.\\d+)?%$" } ], "description": "Coordinate value in inches (number) or percentage (e.g. '50%')" }, "hexColor": { "type": "string", "pattern": "^[0-9A-Fa-f]{6}$", "description": "6-digit hex color without # prefix" }, "themeColor": { "type": "string", "enum": ["tx1", "tx2", "bg1", "bg2", "accent1", "accent2", "accent3", "accent4", "accent5", "accent6"], "description": "PowerPoint theme/scheme color" }, "color": { "oneOf": [ { "$ref": "#/definitions/hexColor" }, { "$ref": "#/definitions/themeColor" } ], "description": "Color value: hex string or theme color" }, "margin": { "oneOf": [ { "type": "number" }, { "type": "array", "items": { "type": "number" }, "minItems": 4, "maxItems": 4 } ], "description": "Margin in points: single value or [top, right, bottom, left]" }, "position": { "type": "object", "properties": { "x": { "$ref": "#/definitions/coord" }, "y": { "$ref": "#/definitions/coord" }, "w": { "$ref": "#/definitions/coord" }, "h": { "$ref": "#/definitions/coord" } }, "description": "Position and size properties" }, "dataOrPath": { "type": "object", "properties": { "path": { "type": "string", "description": "URL or local file path" }, "data": { "type": "string", "description": "Base64-encoded data" } } }, "borderProps": { "type": "object", "properties": { "type": { "type": "string", "enum": ["none", "dash", "solid"] }, "color": { "$ref": "#/definitions/hexColor" }, "pt": { "type": "number", "description": "Border width in points" } }, "description": "Border properties" }, "shapeFill": { "type": "object", "properties": { "color": { "$ref": "#/definitions/color" }, "transparency": { "type": "number", "minimum": 0, "maximum": 100, "description": "Fill transparency percent" }, "type": { "type": "string", "enum": ["none", "solid"] } }, "description": "Shape fill properties" }, "shapeLine": { "allOf": [ { "$ref": "#/definitions/shapeFill" }, { "type": "object", "properties": { "width": { "type": "number", "description": "Line width in points" }, "dashType": { "type": "string", "enum": ["solid", "dash", "dashDot", "lgDash", "lgDashDot", "lgDashDotDot", "sysDash", "sysDot"] }, "beginArrowType": { "type": "string", "enum": ["none", "arrow", "diamond", "oval", "stealth", "triangle"] }, "endArrowType": { "type": "string", "enum": ["none", "arrow", "diamond", "oval", "stealth", "triangle"] } } } ], "description": "Shape line/border properties" }, "shadow": { "type": "object", "properties": { "type": { "type": "string", "enum": ["outer", "inner", "none"] }, "opacity": { "type": "number", "minimum": 0, "maximum": 1, "description": "Shadow opacity (0.0-1.0)" }, "blur": { "type": "number", "minimum": 0, "maximum": 100, "description": "Shadow blur in points" }, "angle": { "type": "number", "minimum": 0, "maximum": 359, "description": "Shadow angle in degrees" }, "offset": { "type": "number", "minimum": 0, "maximum": 200, "description": "Shadow offset in points" }, "color": { "$ref": "#/definitions/hexColor" }, "rotateWithShape": { "type": "boolean" } }, "required": ["type"], "description": "Shadow properties" }, "hyperlink": { "type": "object", "properties": { "slide": { "type": "integer", "description": "Slide number to link to" }, "url": { "type": "string", "description": "URL to link to" }, "tooltip": { "type": "string" } }, "description": "Hyperlink properties" }, "textBaseProps": { "type": "object", "properties": { "align": { "type": "string", "enum": ["left", "center", "right", "justify"] }, "bold": { "type": "boolean" }, "breakLine": { "type": "boolean" }, "bullet": { "oneOf": [ { "type": "boolean" }, { "type": "object", "properties": { "type": { "type": "string", "enum": ["bullet", "number"] }, "characterCode": { "type": "string" }, "indent": { "type": "number" }, "numberType": { "type": "string", "enum": ["alphaLcParenBoth", "alphaLcParenR", "alphaLcPeriod", "alphaUcParenBoth", "alphaUcParenR", "alphaUcPeriod", "arabicParenBoth", "arabicParenR", "arabicPeriod", "arabicPlain", "romanLcParenBoth", "romanLcParenR", "romanLcPeriod", "romanUcParenBoth", "romanUcParenR", "romanUcPeriod"] }, "numberStartAt": { "type": "number" } } } ] }, "color": { "$ref": "#/definitions/color" }, "fontFace": { "type": "string" }, "fontSize": { "type": "number" }, "highlight": { "$ref": "#/definitions/hexColor" }, "italic": { "type": "boolean" }, "lang": { "type": "string" }, "textDirection": { "type": "string", "enum": ["horz", "vert", "vert270", "wordArtVert"] }, "transparency": { "type": "number", "minimum": 0, "maximum": 100 }, "underline": { "type": "object", "properties": { "style": { "type": "string", "enum": ["dash", "dashHeavy", "dashLong", "dashLongHeavy", "dbl", "dotDash", "dotDashHeave", "dotDotDash", "dotDotDashHeavy", "dotted", "dottedHeavy", "heavy", "none", "sng", "wavy", "wavyDbl", "wavyHeavy"] }, "color": { "$ref": "#/definitions/color" } } }, "valign": { "type": "string", "enum": ["top", "middle", "bottom"] }, "softBreakBefore": { "type": "boolean" }, "tabStops": { "type": "array", "items": { "type": "object", "properties": { "position": { "type": "number" }, "alignment": { "type": "string", "enum": ["l", "r", "ctr", "dec"] } }, "required": ["position"] } } }, "description": "Base text properties shared by text objects and table cells" }, "textOptions": { "allOf": [ { "$ref": "#/definitions/textBaseProps" }, { "$ref": "#/definitions/position" }, { "$ref": "#/definitions/shapeFill" }, { "$ref": "#/definitions/dataOrPath" }, { "type": "object", "properties": { "objectName": { "type": "string" }, "baseline": { "type": "number" }, "charSpacing": { "type": "number" }, "fit": { "type": "string", "enum": ["none", "shrink", "resize"] }, "flipH": { "type": "boolean" }, "flipV": { "type": "boolean" }, "glow": { "type": "object", "properties": { "color": { "$ref": "#/definitions/hexColor" }, "opacity": { "type": "number" }, "size": { "type": "number" } }, "required": ["opacity", "size"] }, "hyperlink": { "$ref": "#/definitions/hyperlink" }, "indentLevel": { "type": "number" }, "isTextBox": { "type": "boolean" }, "line": { "$ref": "#/definitions/shapeLine" }, "lineSpacing": { "type": "number" }, "lineSpacingMultiple": { "type": "number", "minimum": 0, "maximum": 9.99 }, "margin": { "$ref": "#/definitions/margin" }, "outline": { "type": "object", "properties": { "color": { "$ref": "#/definitions/color" }, "size": { "type": "number" } } }, "paraSpaceAfter": { "type": "number" }, "paraSpaceBefore": { "type": "number" }, "placeholder": { "type": "string" }, "rectRadius": { "type": "number" }, "rotate": { "type": "number" }, "rtlMode": { "type": "boolean" }, "shadow": { "$ref": "#/definitions/shadow" }, "shape": { "type": "string", "description": "Valid pptxgenjs shape name" }, "strike": { "oneOf": [{ "type": "boolean" }, { "type": "string", "enum": ["dblStrike", "sngStrike"] }] }, "subscript": { "type": "boolean" }, "superscript": { "type": "boolean" }, "vert": { "type": "string", "enum": ["eaVert", "horz", "mongolianVert", "vert", "vert270", "wordArtVert", "wordArtVertRtl"] }, "wrap": { "type": "boolean" } } } ], "description": "Full text object options including all TextPropsOptions parameters" }, "textObject": { "type": "object", "properties": { "type": { "type": "string", "pattern": "^text$" }, "text": { "type": "string", "description": "Text content" }, "options": { "$ref": "#/definitions/textOptions" } }, "required": ["type", "text"], "description": "Text slide object" }, "shapeOptions": { "allOf": [ { "$ref": "#/definitions/position" }, { "$ref": "#/definitions/shapeFill" }, { "$ref": "#/definitions/shapeLine" }, { "$ref": "#/definitions/shadow" }, { "$ref": "#/definitions/hyperlink" }, { "type": "object", "properties": { "objectName": { "type": "string" }, "align": { "type": "string", "enum": ["left", "center", "right", "justify"] }, "angleRange": { "type": "array", "items": { "type": "number" }, "minItems": 2, "maxItems": 2 }, "arcThicknessRatio": { "type": "number" }, "flipH": { "type": "boolean" }, "flipV": { "type": "boolean" }, "points": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "x": { "$ref": "#/definitions/coord" }, "y": { "$ref": "#/definitions/coord" }, "moveTo": { "type": "boolean" } }, "required": ["x", "y"] }, { "type": "object", "properties": { "x": { "$ref": "#/definitions/coord" }, "y": { "$ref": "#/definitions/coord" }, "curve": { "type": "object" } }, "required": ["x", "y", "curve"] }, { "type": "object", "properties": { "close": { "type": "boolean", "const": true } }, "required": ["close"] } ] } }, "rectRadius": { "type": "number", "description": "Rounded rectangle radius (0.0-1.0)" }, "rotate": { "type": "number", "description": "Rotation in degrees (-360 to 360)" } } } ], "description": "Shape object options" }, "shapeObject": { "type": "object", "properties": { "type": { "type": "string", "pattern": "^shape$" }, "shapeName": { "type": "string", "description": "Valid pptxgenjs shape type (e.g. 'rect', 'ellipse', 'roundRect')" }, "options": { "$ref": "#/definitions/shapeOptions" } }, "required": ["type", "shapeName"], "description": "Shape slide object" }, "tableCell": { "type": "object", "properties": { "text": { "type": "string" }, "options": { "allOf": [ { "$ref": "#/definitions/textBaseProps" }, { "type": "object", "properties": { "autoPageCharWeight": { "type": "number", "minimum": -1.0, "maximum": 1.0, "description": "Auto-page character weight adjustment" }, "autoPageLineWeight": { "type": "number", "minimum": -1.0, "maximum": 1.0, "description": "Auto-page line weight adjustment" }, "border": { "oneOf": [ { "$ref": "#/definitions/borderProps" }, { "type": "array", "items": { "$ref": "#/definitions/borderProps" }, "minItems": 4, "maxItems": 4 } ] }, "colspan": { "type": "integer", "minimum": 1 }, "fill": { "$ref": "#/definitions/shapeFill" }, "hyperlink": { "$ref": "#/definitions/hyperlink" }, "margin": { "$ref": "#/definitions/margin" }, "rowspan": { "type": "integer", "minimum": 1 } } } ] } }, "description": "Table cell with text and styling options" }, "tableOptions": { "allOf": [ { "$ref": "#/definitions/position" }, { "$ref": "#/definitions/textBaseProps" }, { "type": "object", "properties": { "objectName": { "type": "string" }, "autoPage": { "type": "boolean" }, "autoPageCharWeight": { "type": "number" }, "autoPageLineWeight": { "type": "number" }, "autoPageRepeatHeader": { "type": "boolean" }, "autoPageHeaderRows": { "type": "integer", "minimum": 1 }, "autoPageSlideStartY": { "type": "number" }, "border": { "oneOf": [ { "$ref": "#/definitions/borderProps" }, { "type": "array", "items": { "$ref": "#/definitions/borderProps" }, "minItems": 4, "maxItems": 4 } ] }, "colW": { "oneOf": [ { "type": "number" }, { "type": "array", "items": { "type": "number" } } ] }, "fill": { "$ref": "#/definitions/shapeFill" }, "margin": { "$ref": "#/definitions/margin" }, "rowH": { "oneOf": [ { "type": "number" }, { "type": "array", "items": { "type": "number" } } ] }, "verbose": { "type": "boolean", "description": "Verbose mode for auto-paging debug output" } } } ], "description": "Table options including all TableProps parameters" }, "tableObject": { "type": "object", "properties": { "type": { "type": "string", "pattern": "^table$" }, "rows": { "type": "array", "items": { "type": "array", "items": { "$ref": "#/definitions/tableCell" } } }, "options": { "$ref": "#/definitions/tableOptions" } }, "required": ["type", "rows"], "description": "Table slide object" }, "imageOptions": { "allOf": [ { "$ref": "#/definitions/position" }, { "$ref": "#/definitions/dataOrPath" }, { "$ref": "#/definitions/shadow" }, { "$ref": "#/definitions/hyperlink" }, { "type": "object", "properties": { "objectName": { "type": "string" }, "altText": { "type": "string" }, "flipH": { "type": "boolean" }, "flipV": { "type": "boolean" }, "placeholder": { "type": "string" }, "rotate": { "type": "number" }, "rounding": { "type": "boolean" }, "sizing": { "type": "object", "properties": { "type": { "type": "string", "enum": ["contain", "cover", "crop"] }, "w": { "$ref": "#/definitions/coord" }, "h": { "$ref": "#/definitions/coord" }, "x": { "$ref": "#/definitions/coord" }, "y": { "$ref": "#/definitions/coord" } }, "required": ["type", "w", "h"] }, "transparency": { "type": "number", "minimum": 0, "maximum": 100 } } } ], "description": "Image options including all ImageProps parameters" }, "imageObject": { "type": "object", "properties": { "type": { "type": "string", "pattern": "^image$" }, "options": { "$ref": "#/definitions/imageOptions" } }, "required": ["type", "options"], "description": "Image slide object" }, "chartData": { "type": "object", "properties": { "name": { "type": "string", "description": "Series name" }, "labels": { "oneOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "array", "items": { "type": "array", "items": { "type": "string" } } } ] }, "sizes": { "type": "array", "items": { "type": "number" }, "description": "Bubble sizes" }, "values": { "type": "array", "items": { "type": "number" }, "description": "Category values" } }, "description": "Chart data series" }, "optsChartGridLine": { "type": "object", "properties": { "cap": { "type": "string", "enum": ["flat", "round", "square"] }, "color": { "$ref": "#/definitions/hexColor" }, "size": { "type": "number" }, "style": { "type": "string", "enum": ["solid", "dash", "dot", "none"] } }, "description": "Chart grid line options" }, "catAxisItem": { "type": "object", "properties": { "hidden": { "type": "boolean" }, "labelColor": { "type": "string" }, "labelFontBold": { "type": "boolean" }, "labelFontFace": { "type": "string" }, "labelFontItalic": { "type": "boolean" }, "labelFontSize": { "type": "number" }, "labelFrequency": { "type": "string" }, "labelPos": { "type": "string", "enum": ["none", "low", "high", "nextTo"] }, "labelRotate": { "type": "number" }, "lineColor": { "type": "string" }, "lineShow": { "type": "boolean" }, "lineSize": { "type": "number" }, "lineStyle": { "type": "string", "enum": ["solid", "dash", "dot"] }, "majorTickMark": { "type": "string", "enum": ["none", "inside", "outside", "cross"] }, "majorTimeUnit": { "type": "string" }, "majorUnit": { "type": "number" }, "maxVal": { "type": "number" }, "minorTickMark": { "type": "string", "enum": ["none", "inside", "outside", "cross"] }, "minorTimeUnit": { "type": "string" }, "minorUnit": { "type": "number" }, "minVal": { "type": "number" }, "multiLevelLabels": { "type": "boolean" }, "orientation": { "type": "string", "enum": ["minMax"] }, "title": { "type": "string" }, "titleColor": { "type": "string" }, "titleFontFace": { "type": "string" }, "titleFontSize": { "type": "number" }, "titleRotate": { "type": "number" }, "gridLine": { "$ref": "#/definitions/optsChartGridLine" }, "labelFormatCode": { "type": "string" }, "baseTimeUnit": { "type": "string" }, "crossesAt": { "oneOf": [{ "type": "number" }, { "type": "string", "enum": ["autoZero"] }] } }, "description": "Category axis item for catAxes array" }, "valAxisItem": { "type": "object", "properties": { "crossesAt": { "oneOf": [{ "type": "number" }, { "type": "string", "enum": ["autoZero"] }] }, "displayUnit": { "type": "string", "enum": ["billions", "hundredMillions", "hundreds", "hundredThousands", "millions", "tenMillions", "tenThousands", "thousands", "trillions"] }, "displayUnitLabel": { "type": "boolean" }, "hidden": { "type": "boolean" }, "labelColor": { "type": "string" }, "labelFontBold": { "type": "boolean" }, "labelFontFace": { "type": "string" }, "labelFontItalic": { "type": "boolean" }, "labelFontSize": { "type": "number" }, "labelFormatCode": { "type": "string" }, "labelPos": { "type": "string", "enum": ["none", "low", "high", "nextTo"] }, "labelRotate": { "type": "number" }, "lineColor": { "type": "string" }, "lineShow": { "type": "boolean" }, "lineSize": { "type": "number" }, "lineStyle": { "type": "string", "enum": ["solid", "dash", "dot"] }, "logScaleBase": { "type": "number", "minimum": 2, "maximum": 99 }, "majorTickMark": { "type": "string", "enum": ["none", "inside", "outside", "cross"] }, "majorUnit": { "type": "number" }, "maxVal": { "type": "number" }, "minorTickMark": { "type": "string", "enum": ["none", "inside", "outside", "cross"] }, "minVal": { "type": "number" }, "orientation": { "type": "string", "enum": ["minMax"] }, "title": { "type": "string" }, "titleColor": { "type": "string" }, "titleFontFace": { "type": "string" }, "titleFontSize": { "type": "number" }, "titleRotate": { "type": "number" }, "gridLine": { "$ref": "#/definitions/optsChartGridLine" } }, "description": "Value axis item for valAxes array" }, "chartOptions": { "allOf": [ { "$ref": "#/definitions/position" }, { "type": "object", "properties": { "objectName": { "type": "string" }, "altText": { "type": "string" }, "axisPos": { "type": "string", "enum": ["b", "l", "r", "t"] }, "chartColors": { "type": "array", "items": { "$ref": "#/definitions/hexColor" } }, "chartColorsOpacity": { "type": "number" }, "dataBorder": { "$ref": "#/definitions/borderProps" }, "displayBlanksAs": { "type": "string", "enum": ["gap", "span", "zero"] }, "invertedColors": { "type": "array", "items": { "$ref": "#/definitions/hexColor" } }, "lang": { "type": "string" }, "layout": { "$ref": "#/definitions/position" }, "shadow": { "$ref": "#/definitions/shadow" }, "showLabel": { "type": "boolean" }, "showLeaderLines": { "type": "boolean" }, "showLegend": { "type": "boolean" }, "showPercent": { "type": "boolean" }, "showSerName": { "type": "boolean" }, "showTitle": { "type": "boolean" }, "showValue": { "type": "boolean" }, "v3DPerspective": { "type": "number", "minimum": 0, "maximum": 120 }, "v3DRAngAx": { "type": "boolean" }, "v3DRotX": { "type": "number", "minimum": 0, "maximum": 359.9 }, "v3DRotY": { "type": "number", "minimum": 0, "maximum": 359.9 }, "chartArea": { "type": "object", "properties": { "border": { "$ref": "#/definitions/borderProps" }, "fill": { "$ref": "#/definitions/shapeFill" }, "roundedCorners": { "type": "boolean" } } }, "plotArea": { "type": "object", "properties": { "border": { "$ref": "#/definitions/borderProps" }, "fill": { "$ref": "#/definitions/shapeFill" } } }, "catAxes": { "type": "array", "items": { "$ref": "#/definitions/catAxisItem" } }, "catAxisBaseTimeUnit": { "type": "string" }, "catAxisCrossesAt": { "oneOf": [{ "type": "number" }, { "type": "string", "enum": ["autoZero"] }] }, "catAxisHidden": { "type": "boolean" }, "catAxisLabelColor": { "type": "string" }, "catAxisLabelFontBold": { "type": "boolean" }, "catAxisLabelFontFace": { "type": "string" }, "catAxisLabelFontItalic": { "type": "boolean" }, "catAxisLabelFontSize": { "type": "number" }, "catAxisLabelFrequency": { "type": "string" }, "catAxisLabelPos": { "type": "string", "enum": ["none", "low", "high", "nextTo"] }, "catAxisLabelRotate": { "type": "number" }, "catAxisLineColor": { "type": "string" }, "catAxisLineShow": { "type": "boolean" }, "catAxisLineSize": { "type": "number" }, "catAxisLineStyle": { "type": "string", "enum": ["solid", "dash", "dot"] }, "catAxisMajorTickMark": { "type": "string", "enum": ["none", "inside", "outside", "cross"] }, "catAxisMajorTimeUnit": { "type": "string" }, "catAxisMajorUnit": { "type": "number" }, "catAxisMaxVal": { "type": "number" }, "catAxisMinorTickMark": { "type": "string", "enum": ["none", "inside", "outside", "cross"] }, "catAxisMinorTimeUnit": { "type": "string" }, "catAxisMinorUnit": { "type": "number" }, "catAxisMinVal": { "type": "number" }, "catAxisMultiLevelLabels": { "type": "boolean" }, "catAxisOrientation": { "type": "string", "enum": ["minMax"] }, "catAxisTitle": { "type": "string" }, "catAxisTitleColor": { "type": "string" }, "catAxisTitleFontFace": { "type": "string" }, "catAxisTitleFontSize": { "type": "number" }, "catAxisTitleRotate": { "type": "number" }, "catGridLine": { "$ref": "#/definitions/optsChartGridLine" }, "catLabelFormatCode": { "type": "string" }, "secondaryCatAxis": { "type": "boolean" }, "showCatAxisTitle": { "type": "boolean" }, "serAxisBaseTimeUnit": { "type": "string" }, "serAxisHidden": { "type": "boolean" }, "serAxisLabelColor": { "type": "string" }, "serAxisLabelFontBold": { "type": "boolean" }, "serAxisLabelFontFace": { "type": "string" }, "serAxisLabelFontItalic": { "type": "boolean" }, "serAxisLabelFontSize": { "type": "number" }, "serAxisLabelFrequency": { "type": "string" }, "serAxisLabelPos": { "type": "string", "enum": ["none", "low", "high", "nextTo"] }, "serAxisLineColor": { "type": "string" }, "serAxisLineShow": { "type": "boolean" }, "serAxisMajorTimeUnit": { "type": "string" }, "serAxisMajorUnit": { "type": "number" }, "serAxisMinorTimeUnit": { "type": "string" }, "serAxisMinorUnit": { "type": "number" }, "serAxisOrientation": { "type": "string", "enum": ["minMax"] }, "serAxisTitle": { "type": "string" }, "serAxisTitleColor": { "type": "string" }, "serAxisTitleFontFace": { "type": "string" }, "serAxisTitleFontSize": { "type": "number" }, "serAxisTitleRotate": { "type": "number" }, "serGridLine": { "$ref": "#/definitions/optsChartGridLine" }, "serLabelFormatCode": { "type": "string" }, "showSerAxisTitle": { "type": "boolean" }, "secondaryValAxis": { "type": "boolean" }, "showValAxisTitle": { "type": "boolean" }, "valAxes": { "type": "array", "items": { "$ref": "#/definitions/valAxisItem" } }, "valAxisCrossesAt": { "oneOf": [{ "type": "number" }, { "type": "string", "enum": ["autoZero"] }] }, "valAxisDisplayUnit": { "type": "string", "enum": ["billions", "hundredMillions", "hundreds", "hundredThousands", "millions", "tenMillions", "tenThousands", "thousands", "trillions"] }, "valAxisDisplayUnitLabel": { "type": "boolean" }, "valAxisHidden": { "type": "boolean" }, "valAxisLabelColor": { "type": "string" }, "valAxisLabelFontBold": { "type": "boolean" }, "valAxisLabelFontFace": { "type": "string" }, "valAxisLabelFontItalic": { "type": "boolean" }, "valAxisLabelFontSize": { "type": "number" }, "valAxisLabelFormatCode": { "type": "string" }, "valAxisLabelPos": { "type": "string", "enum": ["none", "low", "high", "nextTo"] }, "valAxisLabelRotate": { "type": "number" }, "valAxisLineColor": { "type": "string" }, "valAxisLineShow": { "type": "boolean" }, "valAxisLineSize": { "type": "number" }, "valAxisLineStyle": { "type": "string", "enum": ["solid", "dash", "dot"] }, "valAxisLogScaleBase": { "type": "number", "minimum": 2, "maximum": 99 }, "valAxisMajorTickMark": { "type": "string", "enum": ["none", "inside", "outside", "cross"] }, "valAxisMajorUnit": { "type": "number" }, "valAxisMaxVal": { "type": "number" }, "valAxisMinorTickMark": { "type": "string", "enum": ["none", "inside", "outside", "cross"] }, "valAxisMinVal": { "type": "number" }, "valAxisOrientation": { "type": "string", "enum": ["minMax"] }, "valAxisTitle": { "type": "string" }, "valAxisTitleColor": { "type": "string" }, "valAxisTitleFontFace": { "type": "string" }, "valAxisTitleFontSize": { "type": "number" }, "valAxisTitleRotate": { "type": "number" }, "valGridLine": { "$ref": "#/definitions/optsChartGridLine" }, "valLabelFormatCode": { "type": "string" }, "bar3DShape": { "type": "string", "enum": ["box", "cylinder", "cone", "pyramid"] }, "barDir": { "type": "string", "enum": ["bar", "col"] }, "barGapDepthPct": { "type": "number" }, "barGapWidthPct": { "type": "number" }, "barGrouping": { "type": "string", "enum": ["clustered", "stacked", "standard"] }, "barOverlapPct": { "type": "number" }, "dataNoEffects": { "type": "boolean" }, "holeSize": { "type": "number" }, "lineCap": { "type": "string", "enum": ["flat", "round", "square"] }, "lineDash": { "type": "string", "enum": ["dash", "dashDot", "lgDash", "lgDashDot", "lgDashDotDot", "solid", "sysDash", "sysDot"] }, "lineDataSymbol": { "type": "string", "enum": ["circle", "dash", "diamond", "dot", "none", "square", "triangle"] }, "lineDataSymbolLineColor": { "type": "string" }, "lineDataSymbolLineSize": { "type": "number" }, "lineDataSymbolSize": { "type": "number" }, "lineSize": { "type": "number" }, "lineSmooth": { "type": "boolean" }, "firstSliceAng": { "type": "number", "minimum": 0, "maximum": 359 }, "radarStyle": { "type": "string", "enum": ["standard", "marker", "filled"] }, "dataLabelBkgrdColors": { "type": "boolean" }, "dataLabelColor": { "type": "string" }, "dataLabelFontBold": { "type": "boolean" }, "dataLabelFontFace": { "type": "string" }, "dataLabelFontItalic": { "type": "boolean" }, "dataLabelFontSize": { "type": "number" }, "dataLabelFormatCode": { "type": "string" }, "dataLabelFormatScatter": { "type": "string", "enum": ["custom", "customXY", "XY"] }, "dataLabelPosition": { "type": "string", "enum": ["b", "bestFit", "ctr", "l", "r", "t", "inEnd", "outEnd"] }, "dataTableFontSize": { "type": "number" }, "dataTableFormatCode": { "type": "string" }, "showDataTable": { "type": "boolean" }, "showDataTableHorzBorder": { "type": "boolean" }, "showDataTableKeys": { "type": "boolean" }, "showDataTableOutline": { "type": "boolean" }, "showDataTableVertBorder": { "type": "boolean" }, "legendColor": { "type": "string" }, "legendFontFace": { "type": "string" }, "legendFontSize": { "type": "number" }, "legendPos": { "type": "string", "enum": ["b", "l", "r", "t", "tr"] }, "title": { "type": "string" }, "titleAlign": { "type": "string", "enum": ["l", "ctr", "r"] }, "titleBold": { "type": "boolean" }, "titleColor": { "type": "string" }, "titleFontFace": { "type": "string" }, "titleFontSize": { "type": "number" }, "titlePos": { "type": "object", "properties": { "x": { "type": "number" }, "y": { "type": "number" } } }, "titleRotate": { "type": "number" }, "cap": { "type": "string", "enum": ["flat", "round", "square"] }, "color": { "$ref": "#/definitions/hexColor" }, "size": { "type": "number" }, "style": { "type": "string", "enum": ["solid", "dash", "dot", "none"] } } } ], "description": "Chart options including all IChartOpts parameters" }, "chartObject": { "type": "object", "properties": { "type": { "type": "string", "pattern": "^chart$" }, "chartType": { "type": "string", "enum": ["area", "bar", "bar3D", "bubble", "doughnut", "line", "pie", "radar", "scatter"] }, "data": { "type": "array", "items": { "$ref": "#/definitions/chartData" } }, "options": { "$ref": "#/definitions/chartOptions" } }, "required": ["type", "chartType", "data"], "description": "Chart slide object" }, "slideNumberProps": { "allOf": [ { "$ref": "#/definitions/position" }, { "$ref": "#/definitions/textBaseProps" }, { "type": "object", "properties": { "margin": { "$ref": "#/definitions/margin" } } } ], "description": "Slide number display properties" }, "backgroundProps": { "allOf": [ { "$ref": "#/definitions/dataOrPath" }, { "$ref": "#/definitions/shapeFill" }, { "type": "object", "properties": { "fill": { "$ref": "#/definitions/hexColor", "description": "Deprecated: use shapeFill.color instead" } } } ], "description": "Slide background properties (color or image with DataOrPathProps + ShapeFillProps)" }, "slideObject": { "type": "object", "properties": { "background": { "$ref": "#/definitions/backgroundProps" }, "color": { "$ref": "#/definitions/hexColor", "description": "Default text color for this slide" }, "hidden": { "type": "boolean", "description": "Whether slide is hidden" }, "notes": { "type": "string", "description": "Speaker notes for this slide" }, "slideNumber": { "$ref": "#/definitions/slideNumberProps" }, "objects": { "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/textObject" }, { "$ref": "#/definitions/shapeObject" }, { "$ref": "#/definitions/tableObject" }, { "$ref": "#/definitions/imageObject" }, { "$ref": "#/definitions/chartObject" } ] } } }, "description": "A single slide with background, properties, and content objects" } }, "properties": { "presentation": { "type": "object", "properties": { "layout": { "type": "string", "description": "Presentation layout (e.g. LAYOUT_16x9, LAYOUT_4x3)" }, "author": { "type": "string" }, "title": { "type": "string" }, "subject": { "type": "string" }, "company": { "type": "string" }, "revision": { "type": "string" }, "rtlMode": { "type": "boolean" }, "masterSlide": { "type": "object", "description": "Master slide reference object" }, "presLayout": { "type": "object", "properties": { "name": { "type": "string", "description": "Layout name (e.g. LAYOUT_16x9)" }, "width": { "type": "number", "description": "Slide width in inches" }, "height": { "type": "number", "description": "Slide height in inches" } }, "description": "Presentation layout dimensions" }, "theme": { "type": "object", "properties": { "headFontFace": { "type": "string" }, "bodyFontFace": { "type": "string" } } } }, "description": "Presentation-level metadata and layout settings" }, "slides": { "type": "array", "items": { "$ref": "#/definitions/slideObject" }, "minItems": 1, "description": "Array of slides in the presentation" } }, "required": ["slides"], "additionalProperties": true }