Skip to content

Version 3.0 Migration Guide

Brent Ely edited this page Nov 8, 2019 · 11 revisions

Upgrading from v1.x/v2.x

Important Notes

  • There are major breaking changes in Version 3.0
  • Your existing applications will not function without updates to your code

Code Updates

Saving Presentations

The save() method has been removed.

Use one of these new methods instead - all of them return a Promise.

Save Methods Description
writeFile(name) browser-based apps: downloads file. node apps: uses fs to write to the local file system
write(type) returns the presentation in selected type (arraybuffer, blob, base64, and more)
stream() returns the presentation as a stream

Creating Presentations

Old Method Name New Method Name
addNewSlide() addSlide()
addSlidesForTable() tableToSlides()

Presentation Properties

PptxGenJS now exposes properties using ES5 JavaScript getters/setters.

Old Method Name New Method Name
pptx.setAuthor('Brent Ely') pptx.author = 'Brent Ely'
pptx.setCompany('STAR Labs') pptx.company = 'STAR Labs'
pptx.setRevision('15') pptx.revision = '15'
pptx.setSubject('Report') pptx.subject = 'Report'
pptx.setTitle('My Presentation') pptx.title = 'My Presentation'
pptx.setRTL(true) pptx.rtlMode = true
pptx.setLayout('LAYOUT_NAME') pptx.layout = 'LAYOUT_4x3'

Integration

Completely updated integration for Angular, Electron, React, etc.

  • jQuery is no longer required
  • JSZip is the sole requirement
  • PptxGenJS/dist now has 3 versions of the library: min, es, and cjs

TypeScript Definitions

  • The library is now written in TypeScript
  • All new, updated definitions (generated by build tools!)

API Documents

Clone this wiki locally