Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

pptxgenjs

gitbrent445.3kMIT3.12.0TypeScript support: included

Create JavaScript PowerPoint Presentations

html-to-powerpoint, javascript-create-powerpoint, javascript-create-pptx, javascript-generate-pptx, javascript-powerpoint, javascript-powerpoint-charts, javascript-pptx, js-create-powerpoint, js-create-pptx, js-generate-powerpoint, js-powerpoint, js-powerpoint-library, js-powerpoint-pptx, react-powerpoint, typescript-powerpoint

readme

PptxGenJS

Create JavaScript PowerPoint Presentations

PptxGenJS Sample Slides


Known Vulnerabilities npm downloads jsdelivr downloads typescripts definitions

Table of Contents

Introduction

This library creates Open Office XML (OOXML) Presentations which are compatible with Microsoft PowerPoint, Apple Keynote, and other applications.

Features

Works Everywhere

  • Every modern desktop and mobile browser is supported
  • Integrates with Node, Angular, React, and Electron
  • Compatible with PowerPoint, Keynote, and more
  • All major object types are available (charts, shapes, tables, etc.)
  • Master Slides for academic/corporate branding
  • SVG images, animated gifs, YouTube videos, RTL text, and Asian fonts

Simple and Powerful

  • The absolute easiest PowerPoint library to use
  • Learn as you code will full typescript definitions included
  • Tons of demo code comes included (over 75 slides of features)

Export Your Way

  • Exports files direct to client browsers with proper MIME-type
  • Other export formats available: base64, blob, stream, etc.
  • Presentation compression options and more

HTML to PowerPoint

  • Includes powerful HTML-to-PowerPoint feature to transform HTML tables into presentations with a single line of code

Live Demos

Visit the demos page to create a simple presentation to see how easy it is to use pptxgenjs, or check out the complete demo which showcases every available feature.

Installation

Npm

PptxGenJS NPM Home

npm install pptxgenjs --save

Yarn

yarn add pptxgenjs

CDN

jsDelivr Home

Bundle: Modern Browsers and IE11

<script src="https://cdn.jsdelivr.net/gh/gitbrent/pptxgenjs@3.12.0/dist/pptxgen.bundle.js"></script>

Min files: Modern Browsers

<script src="https://cdn.jsdelivr.net/gh/gitbrent/pptxgenjs@3.12.0/libs/jszip.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/gitbrent/pptxgenjs@3.12.0/dist/pptxgen.min.js"></script>

Download

GitHub Latest Release

Bundle: Modern Browsers

  • Use the bundle for IE11 support
<script src="PptxGenJS/dist/pptxgen.bundle.js"></script>

Min files: Modern Browsers

<script src="PptxGenJS/libs/jszip.min.js"></script>
<script src="PptxGenJS/dist/pptxgen.min.js"></script>

Additional Builds

  • CommonJS: dist/pptxgen.cjs.js
  • ES Module: dist/pptxgen.es.js

Documentation

Quick Start Guide

PptxGenJS PowerPoint presentations are created via JavaScript by following 4 basic steps:

Angular/React, ES6, TypeScript

import pptxgen from "pptxgenjs";

// 1. Create a new Presentation
let pres = new pptxgen();

// 2. Add a Slide
let slide = pres.addSlide();

// 3. Add one or more objects (Tables, Shapes, Images, Text and Media) to the Slide
let textboxText = "Hello World from PptxGenJS!";
let textboxOpts = { x: 1, y: 1, color: "363636" };
slide.addText(textboxText, textboxOpts);

// 4. Save the Presentation
pres.writeFile();

Script/Web Browser

// 1. Create a new Presentation
let pres = new PptxGenJS();

// 2. Add a Slide
let slide = pres.addSlide();

// 3. Add one or more objects (Tables, Shapes, Images, Text and Media) to the Slide
let textboxText = "Hello World from PptxGenJS!";
let textboxOpts = { x: 1, y: 1, color: "363636" };
slide.addText(textboxText, textboxOpts);

// 4. Save the Presentation
pres.writeFile();

That's really all there is to it!


Library API

Full documentation and code examples are available


HTML-to-PowerPoint Feature

Easily convert HTML tables to PowerPoint presentations in a single call.

let pptx = new PptxGenJS();
pptx.tableToSlides("tableElementId");
pptx.writeFile({ fileName: "html2pptx-demo.pptx" });

Learn more:


Library Ports

React: react-pptx - thanks to Joonas!


Issues / Suggestions

Please file issues or suggestions on the issues page on github, or even better, submit a pull request. Feedback is always welcome!

When reporting issues, please include a code snippet or a link demonstrating the problem. Here is a small jsFiddle that is already configured and uses the latest PptxGenJS code.


Need Help?

Sometimes implementing a new library can be a difficult task and the slightest mistake will keep something from working. We've all been there!

If you are having issues getting a presentation to generate, check out the code in the demos directory. There are demos for both client browsers, node and react that contain working examples of every available library feature.


Contributors

Thank you to everyone for the issues, contributions and suggestions! ❤️

Special Thanks:

PowerPoint shape definitions and some XML code via Officegen Project


Sponsor Us

If you find this library useful, please consider sponsoring us through a donation


License

Copyright © 2015-present Brent Ely

MIT

changelog

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Notes]

[3.12.0] - 2023-03-19

Added

Fixed

  • Fixed autoPage duplicates text when text array is used #1139 (mikemeerschaert)
  • PowerPoint shows the "repair" dialog when adding an SVG image to a slide master #1150 (BenHall-1)
  • Fixed gh-pages text api docs: transparency + wrap #1153 (tjinauyeung)
  • Fixed YouTube videos not working #1156 (gitbrent)
  • Fixed handle holeSize=0 for doughnut chart #1180 (mathbruyen)
  • Fixed 3D chart options not working correctly (and updated demo) (gitbrent)

Changed

  • [Internal] migrate library from tslint to eslint #1155 (gitbrent)

[3.11.0] - 2022-08-06

Added

  • Added category crosses at property (catAxisCrossesAt) #966 (parvezapathan)
  • Added support for multi-level category axes #1012 (MariusOpeepl)
  • Added 2 new Chart props: plotArea and chartArea allowing fill and border for each (plotArea deprecates fill and border) #1015 (hvstaden)
  • Added serie name on bubble chart, category axis position, leader lines on bubble chart #1100 (mathbruyen)
  • Added bubble3D chart type #1108 (mathbruyen)
  • Added new tool under demos: data_convert which turns Excel (tab-delim) data to chart data type easily (gitbrent)

Fixed

  • Using addImage() with uppercase path prop causes "needs to repair presentation" #860 (mamodo123)
  • Chart with lines and bars produces repair file dialog in Powerpoint #1013 (kornarakis)
  • Bubble Charts limited to 26 columns #1076 (benjaminpavone)
  • Using addImage with tableToSlides() does not work #1103 (Strawberry0215)
  • escape object name in chart xml #1122 (mathbruyen)
  • Several issues with charts embedded Excel sheets that prevented "Edit Data in Excel" from working (gitbrent)
  • Issue with combo charts secondary axis on wrong side (gitbrent)
  • Issue with chart prop titlePos not working (gitbrent)

Changed

  • react-demo: updated react-scripts to v5.0.0 from v4 (gitbrent)

[3.10.0] - 2022-04-10

Added

Fixed

[3.9.0] - 2021-12-11

Added

  • Added overlap parameter to bar charts #1010 (Norfaer)
  • Slide number can now be set as bold #1016 (mathbruyen)
  • Added media cover images & file extensions; media is reused now (same file only loaded/written once) #1024 (canwdev)

Fixed

Changed

  • React Demo: updated to latest create-react-app (gitbrent)

[3.8.0] - 2021-09-28

Added

  • Table auto-paging completely re-written from scratch; finally handles complex-text (text runs) #993 (gitbrent)

Changed

  • Browser Demo: refreshed UI and upgraded to bootstrap-5 #997 (gitbrent)
  • Documentation site (gh-pages) rebuilt from scratch #999 (gitbrent)

[3.7.1] - 2021-07-21

Fixed

  • Added missing altText prop to ImageProps #848 (yorch)

[3.7.0] - 2021-07-20

Added

Fixed

  • Background in master template broken (support multiple background props) #968 (viral-sh)
  • Arguments for radius not allowed in TypeScript for rectangles #969 (ln56b)
  • Documentation: catAxisLine* and valAxisLine* props missing #980 (ln56b)

Chart Updates

Comprehensive Pull

  • Multiple Chart Enhancements and Bugfixes #938 (ReimaFrgos)
    • Resolves:
      • Using scheme colors and fonts in chart axis labels, axis lines and series labels #858 [robertedjones]
      • dataLabelPosition option for Pie charts #837 [kornarakis]
      • Bubble chart catAxisMajorUnit not working #747 [dscdngnw]
      • dataLabelFontBold option not working as expected. #662 [belall-shaikh]
      • dataLabelPosition is not working in Multi Type Charts #815 [Adt-SakshamSethi]
      • dataLabelPosition "t" in Bar chart is crashing ppt in latest MS office Power Point #788 [jsvishal]
      • Setting dataLabelPosition to a line chart causes latest office application to ask for repair #768 [artdomg]

[3.6.0] - 2021-05-02

Release Summary

  • Major Update: demo code (they're all .mjs modules now!); dropped support for IE11 (RIP!) in demo app.
  • IE11 Note: Dropped support for IE11 (use v3.5.0 or below) (library still works with IE11 using polyfill)

Added

Changed

  • Website/Docs Docusaurus v2.0; major UI facelift #931 (gitbrent)

Deprecated

  • Slide.fill (BackgroundProps) - use ShapeFillProps instead

Removed

  • Browser Demo: Dropped support for IE11 (use v3.5.0 or below) (library still works with IE11 using polyfill)

Fixed

  • Margin not working with placeholder text #640 (bestis)
  • Cant create a list of bulleted links in a table cell #763 (avillamaina)
  • Small API documentation glitch #895 (Slidemagic)
  • pptx.stream() WriteBaseProps should be optional #932 (arbourd)
  • Running StdTests generate a corrupt PPT #937 (michaeltford)
  • addNotes function adding notes as an array of objects, parsed as [object Object] in notes field #941 (karlolsonuc)

[3.5.0] - 2021-03-30

Release Summary

  • write()/writeFile() method string arguments are deprecated - props object in now the sole arg (WriteProps/WriteFileProps)

Added

Changed

  • Fixed: Setting the "Wrap text in shape" option #771 (CroniD)
  • Fixed: dataLabelFormatCode option creates corrupted file if the value includes quotes #834 (kornarakis) #884 (gazlo)
  • Fixed: Improve typescipt defs: fix dupes, etc #886 (mmarkelov)
  • Fixed: Wrong type definition for placeholder type property #921 (lukevella)

Internal Updates

  • Doc/Website Updates: Docusaurus docs and website updated to v2.0 #924 (gitbrent)

[3.4.0] - 2021-01-03

Added

Changed

  • Fixed: catAxisLabelPos and valAxisLabelPos options are not working #709 (cpf121)
  • Fixed: logic for dataLabelFormat code in Pie and Donut charts #802 (cronin4392)
  • Fixed: data label position for Pie chart #808 (cronin4392)
  • Fixed: Single data set with a custom color should not create legends for each category #821 (tvt)
  • Fixed: bug when evaluating catAxisLabelPos,valAxisLabelPos props #829 (twatson83)
  • Fixed: secondary axis param (secondaryValAxis) check #832 (twatson83)
  • Fixed: addSection method missing return type in index.d.ts #833 (dylang)
  • Fixed: Align property doesn't work in slide number object #835 (ax2mx)
  • Fixed: Margin doesn't work in slide number object #836 (ax2mx)
  • Fixed: several rounding mistakes for precision, accuracy, and usability #840 (michaelcbrook)
  • Fixed: catAxisMinorTickMark #841 (twatson83)
  • Fixed: colspan/rowspan #852 (wangfengming)
  • Fixed: typo in ts doc #873 (jencii)
  • Fixed: TypeError: Cannot set property 'lIns' of undefined #879 (CroniD)

Internal Updates

  • Library Updates: TypeScript 4, Rollup 2.3 and more #866 (gitbrent)

[3.3.1] - 2020-08-23

Changed

  • Fixed: Broken pptx has generated if used custom slide layout in v3.3.0 #826 (yhatt)
  • Fixed: lineSpacing option set to decimal triggers repair alert #827 (ReimaFrgos)
  • Updated demos.js to replace all fill:string with fill:ShapeFillProps (gitbrent)

[3.3.0] - 2020-08-16

Major Change Summary

  • The addTable() method finally supports auto-paging, including support for repeating table headers!
  • The addText() method text layout engine has been rewritten from scratch and handles every type of layout case now
  • New addText() fit option ('none' | 'shrink' | 'resize') addresses long-standing issues with shrink/resize objects (new demo page as well)
  • Fix for Angular "Buffer is unknown" issue
  • Major update of typescript defs, including tons of documentation that has been added
  • Unfotunately, fill no longer accepts a plain string and there was no smooth way to make that backwards compatible (sorry!)

BREAKING CHANGES

  • TypeScript users: fill property no longer accepts strings, only ShapeFill type now (sorry!)
  • All users: table and textbox text linebreaks may act differently! (a major rewrite to correct long-standing issues with alignment/breakLine finally landed)

Added

  • Added: Auto-Paging finally comes to addTable() #262 (okaiyong)
  • Added: Chart DataTable formatting dataTableFormatCode and valLabelFormatCode #489 (phobos7000) #684 (hanzi)
  • Added: Background image for slides (deprecated bkgd:string with background:BkgdOpts) #610 (thomasowow)
  • Added: shapeName to objects instead of default #724 (Offbeatmammal)
  • Added: valAxisDisplayUnitLabel option #765 (hysh)
  • Added: Ability to create a hyperlink on a shape #767 (CroniD)

Changed

  • Fixed: complete rewrite of genXmlTextBody for new text run/paragraph generation. Fixes: #369 #448, #460, #751, #772
  • Fixed: tableToSlides addHeaderToEach finally duplicates all header rows, not just the first one #262 (okaiyong)
  • Fixed colW length mismatch with colspans (Issue #651) #679 (Joshua-rose)
  • Fixed: hyperlink and tooltip property rId is not working? #758 (kuldeept70)
  • Fixed: removed old/unused options from demo #759 (sijmenvos)
  • Fixed: removed Buffer type from index.ts.d #761 (lustigerlurch551)
  • Fixed: addSection does not escape XML unsafe characters #774 (pimlottc-gov)
  • Fixed: Multiple Border Types not supported in Table Cell #775 (jsvishal)
  • Fixed: New ITextOpts fit prop, removed autoFit/shrinkText, new demo slide #779 (DonnaZukowskiPfizer) (ReimaFrgos)
  • Fixed: EMU calculations are not safe (calcPointValue in gen-xml) #781 (CroniD)
  • Fixed: type defs for TableCell.text not correct (gitbrent)
  • Fixed: type defs for ITableOptions s/b TableOptions (gitbrent)

[3.2.1] - 2020-05-25

Added

Changed

  • Fixed: addTable, addText, etc. not working properly inside tableToSlides #715 (Smithvinayakiya)
  • Fixed: Issue links in release notes are broken #749 (pimlottc-gov)
  • Fixed: Type defs were missing ISlideMasterOptions text prop and slideNumber align (gitbrent)
  • Fixed: Type defs misspelled rowW s/b rowH (gitbrent)
  • Fixed: Documentation: Corrected max value for barGapWidthPct (gitbrent)

[3.2.0] - 2020-05-17

Added

Changed

  • Fixed: Placeholder type Body is defaulting in a hanging indent #589 (colmben)
  • Fixed: Text in slides does not override the bullet master #620 (sgenoud)
  • Fixed: Type errors in index.d.ts #672 (Krishnakanth94)
  • Fixed: Typescript defs Slide and ISlide #673 (gytisgreitai)
  • Fixed: Spelling consistent "Presenation" -> "Presentation" typo #694 (ankon)
  • Fixed: Handle errors with promise rejections #695 (ankon)
  • Fixed: Update 'pptx' to 'pres' in README.md #700 (lucidlemon)
  • Fixed: Time units validation #706 (lucasflomuller)
  • Fixed: Add the slide layout name to the generated background image name #726 (jrohland)
  • Fixed: Type issue addTable rows, updated TableCell/TableRow #735 (robertsoaa)
  • Continued improvement of typescript definitions file (gitbrent)

[3.1.1] - 2020-02-02

Added

  • TypeScript: Add shapes and font options types #650 (cronin4392)
  • TypeScript: Added correct export of types and ts-def file (pptx.ShapeType.rect, etc) in index.d.ts (gitbrent)

Changed

  • Fixed: Re-added "browser" property to package.json to avoid old "fs not found" Angular/webpack issue (Angular 8) #654 (cwilkens)
  • Fixed: Previous release introduced a regression bug and broke addTest placeholder's (gitbrent)
  • Fixed: addChart and addImage in the same slide cause an error [fixed via getNewRelId] #655 (JuliaSheleva)

Removed

  • The core-shapes.ts file was removed, shape def collapsed to simple type array, rolled into core-enums.ts and index.d.ts (gitbrent)

[3.1.0] - 2020-01-21

Added

Changed

  • Fixed: Empty color negative values on barchart #285 (andrei-cs) (Slidemagic)
  • Fixed: Add missing margin type from ITextOpts #643 (cronin4392)
  • Fixed: Scatter plot dataLabelPosition #644 (afarghaly10)
  • Fixed: Added new babel polyfill for IE11; other IE11 fixes in demo, etc. #648 (YakQin)
  • Updated Demo: added support for light/dark mode; new Image slide for rotation; new busy progress modal (gitbrent)

Removed

  • Removed: jsdom pkg is no longer a dependency in package.json (gitbrent)

[3.0.1] - 2020-01-07

Changed

  • Fixed: JSZip not found under Node.js #638 (rse)
  • Fixed: react demo fixes and new build for demo-react online (gitbrent)
  • Fixed: added missing catch on media promise.all to handle 404 media links (gitbrent)
  • Fixed: replaced wikimedia links in common/demos.js with github raw content links (gitbrent)

[3.0.0] - 2020-01-01

Added

  • Ability to specify numbered list format #452 (mayvazyan)
  • New cat/val axis options: majorTickMark/minorTickMark #473 (RokasDie)
  • Ability to set start number "startAt" for a bullet list of type numbered #554 #555 (bj-mitchell)

Changed

  • Fixed: Set proper MIME type for PPTX presentation #471 (StefanBrand)
  • Fixed: SVG images used to be generated by Node #515 (michaelcbrook)
  • Fixed: SVG support has several issues #528 (RicardoNiepel)
  • Fixed: Downloading PPT in iOS using Safari does not work. File named as UNKNOWN. #540 (mustafagentrit)
  • Fixed: Tables not being displayed after update #559 (emartz404)
  • Fixed: Hyperlink creates malformed slide if it includes "&" #562 (Tehnix)
  • Fixed: Exporting images corrupting file. #578 (joeberth)
  • Fixed: Multiple files getting downloaded if multiple base64 images are added. #581 (akshaymagapu)
  • Fixed: Links in tables won't work on tables generated with autoPage #583 (githuis)
  • Fixed: Added rounding of margin values to avoid invalid XML #633 (kevinresol)

Removed

  • Removed: jQuery is no longer required (!)

[2.6.0] - 2019-09-24

Added

Changed

  • Fixed: MIME type is ppt now instead of "application/zip"
  • Fixed: Not Able to add background image from the www source #497 (nish25sp)
  • Fixed: Set proper MIME type for PPTX presentation #471 (StefanBrand)
  • Fixed: lineDash Option is not in documentation #526 (Jank1310)
  • Fixed: Downloading PPT in iOS using Safari does not work. File named as UNKNOWN. #540 (mustafagentrit)
  • Fixed: ReferenceError: strXmlBullet is not defined #587 (Saurabh-Chandil)
  • Fixed: Getting paraPropXmlCore not defined error - line 4200 in pptxgen.bundle.js missing "var" declaration #596 (rajeearyal)

Removed

[2.5.0] - 2019-02-08

Added

  • Make Shapes available for a front-end usage #137 (spamforhope)
  • Ability to rotate chart axis labels (catAxisLabelRotate/valAxisLabelRotate) #378 (teejayvanslyke)
  • New Chart Type: 3D bar charts #384 (loictro)
  • New Chart Feature: Add Data Labels to Scatter Charts #420 (ReimaFrgos)
  • Add new chart options: catAxisLabelFontBold,dataLabelFontBold,legendFontFace,valAxisLabelFontBold #426 (BandaSatish07)
  • Add missing jpg content type to fix corrupt presentation for Office365 #435 (antonandreyev)
  • Add catAxisMinVal and catAxisMaxVal #462 (vrimar)
  • New Chart Option: valAxisCrossesAt #474 (ReimaFrgos)
  • Docs: Show how to save as Blob using client browser #478 (crazyx13th)

Changed

  • Fixed: Dynamic Text Options do not apply #427 (sunnyar)
  • Removed: legacy/deprecated attributes from README javascript script tags #431 (efx)
  • Fixed: issue with SlideNumber fontSize float values #432 (efx)
  • Fixed: query and fragment from image URL extension #433 (katsuya-horiuchi)
  • Changed: Replace "$" with "jQuery" to fix integration issues with some applications #436 (antonandreyev)
  • Changed: Export more types to enhance TypeScript support #443 (ntietz)
  • Fixed: Rounding in percentage leads to small deviations #470 (Slidemagic) #475 (ReimaFrgos)
  • Fixed: Hyperlinks causing duplicate relationship ID when other objects on page #477 (ReimaFrgos)
  • Fixed: ordering of paragraph properties #485 (sleepylemur)

Removed

[2.4.0] - 2018-10-28

Added

Changed

Removed

v2.3.0 (2018-09-12)

Full Changelog

Highlights:

  • New Feature: Placeholders
  • New Feature: Speaker Notes
  • addImage() can now load both local ("../img.png") and remote images ("https://wikimedia.org/logo.jpg")
  • Typescript definitions are now available
  • jquery-node replaced with latest jquery package [only affects npm users]

Fixed Bugs:

Implemented Enhancements:

  • addImage() updated with new code allowing both local and remote images to be used (browser and Node). (gitbrent)
  • Typescript definitions have been created for the PptxGenJS API Methods (pptxgen.d.ts). (gitbrent)
  • New Feature: Placeholder support in Master Slides #359 (conbow)
  • New Feature: Speaker Notes #239 #361 (travispwingo)
  • New Chart Option: displayBlanksAs #365 (guipas)
  • New Feature: ability to hide slides #367 (ReimaFrgos)
  • Add second Cat Axis for Scatter and Bubble #372 (KrishnaTejaReddyV)
  • New Chart Type: Add radar chart implementation #386 (loictro)

v2.2.0 (2018-06-17)

Full Changelog

Fixed Bugs:

Implemented Enhancements:

  • New Feature! addImage() and addMedia() methods now accept URLs #325 (gitbrent)
  • Make Node detection more robust #277 (adrianirwin) (DSheffield)
  • Updated pptxgenjs-demo files to use CDNs instead of local files (gitbrent)
  • Updated Node.js detection to increase reliability for Angular users et al. (gitbrent)
  • Add w and h attributes to slideNumber() #336 (s7726)

v2.1.0 (2018-04-02)

Full Changelog

Fixed Bugs:

  • HTML-to-PowerPoint is creating many extra columns with colspan #284 (svaak)
  • HTML-to-PowerPoint rowspan is not working (gitbrent)
  • Fix docs/examples to use new fontSize, remove unsupported font_size #297 (pstoll)

Implemented Enhancements:

v2.0.0 (2018-01-23)

Full Changelog

BREAKING CHANGES

  • NodeJS instantiation is now standard (see Issue #83 and examples/nodejs-demo.js) which now allows new instances/presentations
  • (See "Version 2.0 Breaking Changes" in the README for a complete list)

Fixed Bugs:

  • Master Slide slide number doesn't show using "New Slide" PPT Function #229 (ineran)
  • Values of 0 (zero) in series are missing in line chart #240 (andrei-cs)
  • Node: "DeprecationWarning: Calling an asynchronous function without callback is deprecated." #252 (the-yadu)
  • The UP_DOWN_ARROW shape appears to have duplicate keys #253 (heavysixer)
  • Local demo can not run in IE #273 (IvanTao)

Implemented Enhancements:

v1.10.0 (2017-11-14)

Full Changelog

Fixed Bugs:

  • Fixed bug that was preventing 'chartColorsOpacity' from being anything other than 50 percent. (gitbrent)
  • The newPageStartY option is not being honored by addSlidesForTable() #222 (shaunvdp)
  • Line chart with one series displays broken #225 (andrei-cs)
  • The *AxisLineShow chart options do not work #231 (mconlin)

Implemented Enhancements:

v1.9.0 (2017-10-10)

Full Changelog

Fixed Bugs:

  • Vertical align and line break bug since update #79 (mirkoint)
  • Save callback is not called by client-browser when there are images to encode #187 (Malangs)
  • Promise Dependency - TypeError: Promise.all is not a function #188 (bartolomeu)
  • Default text size in empty cells making row height too big #193 (mreilaender)
  • Fixed issue that included many extraneous tab characters in the table demo lorem-ipsum text (GitBrent)
  • Fix chart issue: Entities encoding #204 (clubajax)
  • Fix chart issue: val axis #205 (clubajax)
  • Fix chart issue: Line chart series colors were not being respected #206 (kyrrigle)
  • Discrepancy between docs and code regarding setting a slide's background #207 (msambarino)
  • Fix chart issue: bar color regression #210 (clubajax)

Implemented Enhancements:

v1.8.0 (2017-09-12)

Full Changelog

Fixed Bugs:

Implemented Enhancements:

v1.7.0 (2017-08-07)

Full Changelog

Fixed Bugs:

Implemented Enhancements:

  • Add charts to Masters/Templates #114 (yipiha)
  • Format text as a superscript in a table cell #120 (aranard)

v1.6.0 (2017-07-17)

Full Changelog

Fixed Bugs:

  • The width or the height must be an integer not a float #29 (badlee)

Implemented Enhancements:

v1.5.0 (2017-05-26)

Full Changelog

Fixed Bugs:

Implemented Enhancements:

  • Add ability to create charts #51 (alagarrk)
  • Added image type to shapes to allow images to be placed on top of shapes, added more properties to ppt document #53 (ericwgreene)
  • Add support for RTL (Right-to-Left) text for Arabic etc. #73 (vanekar)
  • Shape line Diagonal #75 (vanekar)
  • Add hyperlink to Image #77 (plopez7)
  • Adding rounding radius for texts and shapes and dash options for the outline #86 (ivolazy)

v1.4.0 (2017-04-10)

Full Changelog

Fixed Bugs:

  • Auto Paging does not include master template on additional slides #61 (tb23911)
  • Issue calculating the available height for a table using Auto paging #64 (tb23911)
  • Multiple a:bodyPr tags within a:txBody causes damaged presentation in PowerPoint 2007 #69 (ZouhaierSebri)
  • Text bug #71 (alexbai31)
  • Errors when using Webpack/Typescript #72 (Vivihung)

Implemented Enhancements:

  • Add Slide Number formatting options #68 (ZouhaierSebri)
  • Added new feature: Hyperlinks as a text option

v1.3.0 (2017-03-22)

Full Changelog

Fixed Bugs:

  • Added image type to shapes to allow images to be placed on top of shapes, added more properties to ppt document #53 (ericwgreene)
  • Table-to-Slides default for un-styled tables is black text on black bkgd #57 (orpitadutta)
  • Table Header and Auto Paging #62 (tb23911)

Implemented Enhancements:

  • Removed FileSaver.js as a required library (only JSZip and jQuery are required now)
  • Allow text multi-formatting in single table cells #24 (jenkinsns)
  • Set fixed width to column using addSlidesForTable() #42 (priyaraskar)
  • Enhance bullet feature: offer diff types of bullets and add numbering option #49 (gitbrent)
  • Add 4 new Presentation properties: author, company, revision, subject #53 (ericwgreene)
  • Moved to semver (semantic versioning)

v1.2.1 (2017-02-26)

Full Changelog

Fixed Bugs:

  • Fixed issue with using percentages with x,y,w,h in addTable()
  • Table formatting bug with rowspans and colspans #46 (itskun)

Implemented Enhancements:

  • Allow more than a single 'x' and/or 'y' table location during Table Paging #43 (jenkinsns)
  • Bullets do not work with text objects in addText() method #44 (ellisgl)
  • Table location and pagination #47 (itskun)
  • Meta: Improve auto-paging in 'addTable()' #48 (gitbrent)
  • Created a new common file (pptxgenjs-demo.js) to hold all demo code - now used by both the browser and the node demos.

v1.2.0 (2017-02-15)

Full Changelog

Implemented Enhancements:

Fixed Bugs:

  • Table formatting bug in addTable() #36 (itskun)

v1.1.6 (2017-01-19)

Full Changelog

Implemented Enhancements:

  • Support for animated GIFs in addImage() #22 (shashank2104)
  • Added new slideNumber option allowing x and y placement of slide number #25 (priyaraskar)

v1.1.5 (2017-01-17)

Full Changelog

Fixed Bugs:

v1.1.4 (2017-01-04)

Full Changelog

Fixed Bugs:

  • Table formatting options set to default on empty cells #20 (rikvdk)
  • Fixed issue with addTable() where passing "#" before hex value for color or fill option would generate an invalid slide

v1.1.3 (2016-12-28)

Full Changelog

Implemented Enhancements:

  • Add new options to addSlidesForTable() allowing for placement and size: x,y,w,h #18 (priyaraskar)

Fixed Bugs:

v1.1.2 (2016-12-16)

Full Changelog

Implemented Enhancements:

  • The Slide addTable() method was modified to reduce the options passed from 2 objects to a single one

Fixed Bugs:

  • The colW addTable() option is not working #15 (ninas880025)
  • Modified addSlidesForTable(): table selectors made more specific by selecting only direct children now (nested tables would cause excessive looping) #14 (forrahul123)
  • Fixed crash caused by calling addText without an options object

v1.1.1 (2016-12-08)

Full Changelog

Implemented Enhancements:

  • Major documentation update
  • Added instructions to pptxgenjs.masters.js file, plus more examples and code
  • Added sandbox/ad-hoc code area to demo page

Fixed Bugs:

  • Table with 7 columns generates an invalid pptx file #12 (rikvdk)

v1.1.0 (2016-11-22)

Full Changelog

Implemented Enhancements:

Fixed Bugs:

v1.0.1 (2016-09-03)

Full Changelog

Implemented enhancements:

  • Moved from cx and cy option keys to w and h
  • Adding ability to load data uri as images/Updating jszip library #2 (DzmitryDulko)
  • Publish library as npm package #3 (DzmitryDulko)

Fixed Bugs:

v1.0.0 (2016-03-29)

Initial Release