Appearance
@shbernal/pptxgenjs / index / TableProps
Interface: TableProps
Defined in: core-interfaces.ts:1537
Extends
Extended by
Properties
_arrObjTabHeadRows?
optional_arrObjTabHeadRows?:TableRow[]
Defined in: core-interfaces.ts:1538
align?
optionalalign?:HAlign
Defined in: core-interfaces.ts:521
Horizontal alignment
Default
ts
'left'Inherited from
altText?
optionalaltText?:string
Defined in: core-interfaces.ts:807
Alt Text value ("How would you describe this object and its contents to someone who is blind?")
- serialized to the generated object's
p:cNvPrdescrattribute - PowerPoint: [right-click on the object] > "Edit Alt Text..."
Since
v4.0.0
Example
ts
'Quarterly revenue bar chart'Inherited from
autoPage?
optionalautoPage?:boolean
Defined in: core-interfaces.ts:1545
Whether to enable auto-paging
- auto-paging creates new slides as content overflows a slide
Default
ts
falseautoPageCharWeight?
optionalautoPageCharWeight?:number
Defined in: core-interfaces.ts:1554
Auto-paging character weight
- adjusts how many characters are used before lines wrap
- range: -1.0 to 1.0
See
https://gitbrent.github.io/PptxGenJS/docs/api-tables.html
Default
ts
0.0Example
ts
0.5 // lines are longer (increases the number of characters that can fit on a given line)autoPageHeaderRows?
optionalautoPageHeaderRows?:number
Defined in: core-interfaces.ts:1578
Number of rows that comprise table headers
- required when
autoPageRepeatHeaderis set to true.
Example
ts
2 - repeats the first two table rows on each new slide createdDefault
ts
1Since
v3.3.0
autoPageLineWeight?
optionalautoPageLineWeight?:number
Defined in: core-interfaces.ts:1563
Auto-paging line weight
- adjusts how many lines are used before slides wrap
- range: -1.0 to 1.0
See
https://gitbrent.github.io/PptxGenJS/docs/api-tables.html
Default
ts
0.0Example
ts
0.5 // tables are taller (increases the number of lines that can fit on a given slide)autoPagePlaceholder?
optionalautoPagePlaceholder?:boolean
Defined in: core-interfaces.ts:1591
Whether populated placeholders on the source slide (e.g. a title set via addText(text, { placeholder })) are copied onto each overflow slide created by autoPage.
- new slides otherwise inherit only the layout's empty placeholders, so a title set on the first slide would not appear on continuation slides (upstream gitbrent/PptxGenJS#1136).
Default
ts
falseautoPageRepeatHeader?
optionalautoPageRepeatHeader?:boolean
Defined in: core-interfaces.ts:1570
Whether table header row(s) should be repeated on each new slide creating by autoPage. Use autoPageHeaderRows to designate how many rows comprise the table header (1+).
Default
ts
falseSince
v3.3.0
autoPageSlideStartY?
optionalautoPageSlideStartY?:number
Defined in: core-interfaces.ts:1583
The y location to use on subsequent slides created by autopaging
Default
ts
(top margin of Slide)bold?
optionalbold?:boolean
Defined in: core-interfaces.ts:526
Bold style
Default
ts
falseInherited from
border?
optionalborder?:BorderProps| [BorderProps,BorderProps,BorderProps,BorderProps]
Defined in: core-interfaces.ts:1597
Table border
- single value is applied to all 4 sides
- array of values in TRBL order for individual sides
breakLine?
optionalbreakLine?:boolean
Defined in: core-interfaces.ts:531
Add a line-break
Default
ts
falseInherited from
bullet?
optionalbullet?:boolean| {characterCode?:string;code?:string;color?:string;fontFace?:string;image?: {data?:string;path?:string; };indent?:number;marginPt?:number;numberStartAt?:number;numberType?:"alphaLcParenBoth"|"alphaLcParenR"|"alphaLcPeriod"|"alphaUcParenBoth"|"alphaUcParenR"|"alphaUcPeriod"|"arabicParenBoth"|"arabicParenR"|"arabicPeriod"|"arabicPlain"|"romanLcParenBoth"|"romanLcParenR"|"romanLcPeriod"|"romanUcParenBoth"|"romanUcParenR"|"romanUcPeriod";size?:number;startAt?:number;style?:string;type?:"number"|"bullet"; }
Defined in: core-interfaces.ts:547
Add standard or custom bullet
- use
truefor standard bullet - pass object options for custom bullet
Union Members
boolean
Type Literal
{ characterCode?: string; code?: string; color?: string; fontFace?: string; image?: { data?: string; path?: string; }; indent?: number; marginPt?: number; numberStartAt?: number; numberType?: "alphaLcParenBoth" | "alphaLcParenR" | "alphaLcPeriod" | "alphaUcParenBoth" | "alphaUcParenR" | "alphaUcPeriod" | "arabicParenBoth" | "arabicParenR" | "arabicPeriod" | "arabicPlain" | "romanLcParenBoth" | "romanLcParenR" | "romanLcPeriod" | "romanUcParenBoth" | "romanUcParenR" | "romanUcPeriod"; size?: number; startAt?: number; style?: string; type?: "number" | "bullet"; }
characterCode?
optionalcharacterCode?:string
Bullet character code (unicode)
Since
v3.3.0
Example
ts
'25BA' // 'BLACK RIGHT-POINTING POINTER' (U+25BA)code?
optionalcode?:string
Bullet code (unicode)
Deprecated
v3.3.0 - use characterCode
color?
optionalcolor?:string
Bullet glyph color (separate from the text run color)
Since
v4.0.0
Example
ts
'FF0000' // red bulletfontFace?
optionalfontFace?:string
Bullet glyph font typeface (<a:buFont/>), e.g. for symbol-font bullets
Since
v4.0.0
Example
ts
'Wingdings' // render `characterCode` using the Wingdings fontimage?
optionalimage?:object
Image to use as the bullet glyph ("picture bullet", <a:buBlip>)
- supply an image
path(filesystem/URL) or base64data(same forms asaddImage()) - raster formats (PNG/JPG/GIF) are recommended; use
sizeto scale relative to the text height - takes precedence over
type/characterCodewhen set
Since
v4.0.0
Examples
ts
image: { path: 'images/star.png' }ts
image: { data: 'image/png;base64,iVBOR...' }image.data?
optionaldata?:string
image.path?
optionalpath?:string
indent?
optionalindent?:number
Indentation (space between bullet and text) (points)
Since
v3.3.0
Default
ts
27 // DEF_BULLET_MARGINExample
ts
10 // Indents text 10 points from bulletmarginPt?
optionalmarginPt?:number
Margin between bullet and text
Since
v3.2.1
Deprecated
v3.3.0 - use indent
numberStartAt?
optionalnumberStartAt?:number
Number bullets start at
Since
v3.3.0
Default
ts
1Example
ts
10 // numbered bullets start with 10numberType?
optionalnumberType?:"alphaLcParenBoth"|"alphaLcParenR"|"alphaLcPeriod"|"alphaUcParenBoth"|"alphaUcParenR"|"alphaUcPeriod"|"arabicParenBoth"|"arabicParenR"|"arabicPeriod"|"arabicPlain"|"romanLcParenBoth"|"romanLcParenR"|"romanLcPeriod"|"romanUcParenBoth"|"romanUcParenR"|"romanUcPeriod"
Number type
Since
v3.3.0
Example
ts
'romanLcParenR' // roman numerals lower-case with paranthesis rightsize?
optionalsize?:number
Bullet glyph size as a percentage of the run's text size (25–400)
Since
v4.0.0
Default
ts
100Example
ts
80 // bullet glyph is 80% of the text sizestartAt?
optionalstartAt?:number
Number to start with (only applies to type:number)
Deprecated
v3.3.0 - use numberStartAt
style?
optionalstyle?:string
Number type
Deprecated
v3.3.0 - use numberType
type?
optionaltype?:"number"|"bullet"
Bullet type
Default
ts
bulletDefault
ts
falseInherited from
caps?
optionalcaps?:"small"|"all"|"none"
Defined in: core-interfaces.ts:663
Text capitalization
'all'= ALL CAPS'small'= Small Caps'none'= no override (default)- PowerPoint: Font > Effects > All Caps / Small Caps
Inherited from
color?
optionalcolor?:string
Defined in: core-interfaces.ts:671
Text color
HexColororThemeColor- MS-PPT > Format Shape > Text Options > Text Fill & Outline > Text Fill > Color
Examples
ts
'FF0000' // hex color (red)ts
pptx.SchemeColor.text1 // Theme color (Text1)Inherited from
colW?
optionalcolW?:number|number[]
Defined in: core-interfaces.ts:1604
Width of table columns (inches)
- single value is applied to every column equally based upon
w - array of values in applied to each column in order
Default
columns of equal width based upon w
fill?
optionalfill?:ShapeFillProps
Defined in: core-interfaces.ts:1675
Cell background color
Examples
ts
{ color:'FF0000' } // hex color (red)ts
{ color:'0088CC', transparency:50 } // hex color, 50% transparentts
{ color:pptx.SchemeColor.accent1 } // theme color Accent1fontFace?
optionalfontFace?:string
Defined in: core-interfaces.ts:681
Font face name
Applied to the Latin (<a:latin>) and complex-script (<a:cs>) font slots, matching how PowerPoint writes a font picked from the UI. The East Asian slot (<a:ea>) is left to inherit from the theme unless fontFaceEA is set — forcing a Latin-only face into the East Asian slot duplicates/ghosts text in Office 365.
Example
ts
'Arial' // Arial fontInherited from
fontFaceEA?
optionalfontFaceEA?:string
Defined in: core-interfaces.ts:689
East Asian font face name (<a:ea> slot), used to render CJK (Chinese/Japanese/Korean) glyphs
Set this when the East Asian font differs from fontFace. When omitted, <a:ea> inherits the theme East Asian font, which is what PowerPoint does for Latin fonts.
Example
ts
'微軟正黑體' // render East Asian glyphs with Microsoft JhengHeiInherited from
fontSize?
optionalfontSize?:number
Defined in: core-interfaces.ts:694
Font size
Example
ts
12 // Font size 12Inherited from
h?
optionalh?:Coord
Defined in: core-interfaces.ts:47
Height
- inches or percentage
Examples
ts
10.25 // height in inchests
'75%' // height as percentage of slide sizeInherited from
hasBandedColumns?
optionalhasBandedColumns?:boolean
Defined in: core-interfaces.ts:1632
Enable alternating column (band) shading. Emits bandCol="1" on <a:tblPr>, activating band1V/band2V style regions. Requires tableStyle to have a visible effect.
Default
ts
falsehasBandedRows?
optionalhasBandedRows?:boolean
Defined in: core-interfaces.ts:1625
Enable alternating row (band) shading. Emits bandRow="1" on <a:tblPr>, activating band1H/band2H style regions. Requires tableStyle to have a visible effect.
Default
ts
falsehasFirstColumn?
optionalhasFirstColumn?:boolean
Defined in: core-interfaces.ts:1639
Apply special styling to the first column. Emits firstCol="1" on <a:tblPr>, activating the firstCol style region. Requires tableStyle to have a visible effect.
Default
ts
falsehasFooter?
optionalhasFooter?:boolean
Defined in: core-interfaces.ts:1618
Mark the last row as a footer row. Emits lastRow="1" on <a:tblPr>, activating the last-row style region. Requires tableStyle to have a visible effect.
Default
ts
falsehasHeader?
optionalhasHeader?:boolean
Defined in: core-interfaces.ts:1611
Mark the first row as a header row. Emits firstRow="1" on <a:tblPr>, activating the first-row style region of the table style and satisfying the PowerPoint accessibility checker's "table header" rule.
Default
ts
falsehasLastColumn?
optionalhasLastColumn?:boolean
Defined in: core-interfaces.ts:1646
Apply special styling to the last column. Emits lastCol="1" on <a:tblPr>, activating the lastCol style region. Requires tableStyle to have a visible effect.
Default
ts
falsehighlight?
optionalhighlight?:string
Defined in: core-interfaces.ts:699
Text highlight color (hex format)
Example
ts
'FFFF00' // yellowInherited from
italic?
optionalitalic?:boolean
Defined in: core-interfaces.ts:704
italic style
Default
ts
falseInherited from
lang?
optionallang?:string
Defined in: core-interfaces.ts:711
language
- ISO 639-1 standard language code
Default
ts
'en-US' // english USExample
ts
'fr-CA' // french CanadianInherited from
margin?
optionalmargin?:Margin
Defined in: core-interfaces.ts:1680
Cell margin (inches)
- affects all table cells, is superceded by cell options
newSlideStartY?
optionalnewSlideStartY?:number
Defined in: core-interfaces.ts:1698
Deprecated
v3.3.0 - use autoPageSlideStartY
objectLock?
optionalobjectLock?:ObjectLockProps
Defined in: core-interfaces.ts:819
Object lock flags (DrawingML a:spLocks / a:picLocks / a:graphicFrameLocks)
- restrict how the object can be manipulated in PowerPoint (e.g. prevent moving, resizing, or grouping)
- each flag maps 1:1 to the OOXML attribute of the same name; only flags set to
trueare emitted - PowerPoint UI: Selection Pane / right-click protections (most locks are honored at edit time, not as a password)
- flags only apply to the object types that support them (see each flag); flags set on an unsupported object type are ignored with a console warning
Since
v4.0.0
Examples
ts
{ noMove: true, noResize: true } // pin an object in placets
{ noGrp: true } // exclude from groupingInherited from
objectName?
optionalobjectName?:string
Defined in: core-interfaces.ts:799
Object name
- used instead of default "Object N" name
- PowerPoint: Home > Arrange > Selection Pane...
Since
v3.10.0
Default
ts
'Object 1'Example
ts
'Antenna Design 9'Inherited from
rowH?
optionalrowH?:number|number[]
Defined in: core-interfaces.ts:1687
Height of table rows (inches)
- single value is applied to every row equally based upon
h - array of values in applied to each row in order
Default
rows of equal height based upon h
rtl?
optionalrtl?:boolean
Defined in: core-interfaces.ts:1656
Lay the table out right-to-left. Emits rtl="1" on <a:tblPr>, which mirrors the column order so the first column renders on the right — the correct layout for RTL scripts (Arabic, Hebrew). This controls only the table/column direction; per-cell text direction is set with each cell's rtlMode option.
Default
ts
falseSince
v4.0.0
softBreakBefore?
optionalsoftBreakBefore?:boolean
Defined in: core-interfaces.ts:717
Add a soft line-break (shift+enter) before line text content
Default
ts
falseSince
v3.5.0
Inherited from
tableStyle?
optionaltableStyle?:string
Defined in: core-interfaces.ts:1668
Table style to apply, either a built-in TABLE_STYLE member or the GUID returned by pptx.defineTableStyle() for a custom style. Emits <a:tableStyleId> inside <a:tblPr> with the corresponding GUID. Style flags (hasHeader, hasFooter, hasBandedRows, etc.) select which regions of the chosen style are activated; they have no visible effect without a tableStyle set.
Examples
ts
tableStyle: pptx.TABLE_STYLE.MEDIUM_STYLE_2_ACCENT_1 // built-ints
const brand = pptx.defineTableStyle({ name:'Brand', firstRow:{ fill:'1A2B3C', color:'FFFFFF', bold:true } }); tableStyle: brandtabStops?
optionaltabStops?:object[]
Defined in: core-interfaces.ts:723
tab stops
- PowerPoint: Paragraph > Tabs > Tab stop position
alignment?
optionalalignment?:"r"|"ctr"|"l"|"dec"
position
position:
number
Example
ts
[{ position:1 }, { position:3 }] // Set first tab stop to 1 inch, set second tab stop to 3 inchesInherited from
textDirection?
optionaltextDirection?:"horz"|"vert"|"vert270"|"wordArtVert"
Defined in: core-interfaces.ts:732
text direction horz = horizontal vert = rotate 90^ vert270 = rotate 270^ wordArtVert = stacked
Default
ts
'horz'Inherited from
textWarp?
optionaltextWarp?:string
Defined in: core-interfaces.ts:540
Preset text warp / WordArt shape (<a:bodyPr><a:prstTxWarp prst="..">), which bends the text along a preset path (arch, circle, wave, …). The value is an OOXML ST_TextShapeType preset name.
Since
v4.0.0
Examples
ts
'textArchUp' // bend text along an upward arch (e.g. a label following a ring/arc)ts
'textCircle'Inherited from
transparency?
optionaltransparency?:number
Defined in: core-interfaces.ts:739
Transparency (percent)
- MS-PPT > Format Shape > Text Options > Text Fill & Outline > Text Fill > Transparency
- range: 0-100
Default
ts
0Inherited from
underline?
optionalunderline?:object
Defined in: core-interfaces.ts:745
underline properties
- PowerPoint: Font > Color & Underline > Underline Style/Underline Color
color?
optionalcolor?:string
style?
optionalstyle?:"none"|"dash"|"dashHeavy"|"dashLong"|"dashLongHeavy"|"dbl"|"dotDash"|"dotDashHeave"|"dotDotDash"|"dotDotDashHeavy"|"dotted"|"dottedHeavy"|"heavy"|"sng"|"wavy"|"wavyDbl"|"wavyHeavy"
Default
ts
(none)Inherited from
valign?
optionalvalign?:VAlign
Defined in: core-interfaces.ts:770
vertical alignment
Default
ts
'top'Inherited from
verbose?
optionalverbose?:boolean
Defined in: core-interfaces.ts:1693
DEV TOOL: Verbose Mode (to console)
- tell the library to provide an almost ridiculous amount of detail during auto-paging calculations
Default
ts
false // obviouslyw?
optionalw?:Coord
Defined in: core-interfaces.ts:54
Width
- inches or percentage
Examples
ts
10.25 // width in inchests
'75%' // width as percentage of slide sizeInherited from
x?
optionalx?:Coord
Defined in: core-interfaces.ts:33
Horizontal position
- inches or percentage
Examples
ts
10.25 // position in inchests
'75%' // position as percentage of slide sizeInherited from
y?
optionaly?:Coord
Defined in: core-interfaces.ts:40
Vertical position
- inches or percentage
Examples
ts
10.25 // position in inchests
'75%' // position as percentage of slide size