Skip to content

0.10.0 (4 May 2014)

This release marked heavy refactorings on internal code structure with the creation of some abstract classes to reduce code duplication. Element subnamespace is introduced in this release to replace Section. Word2007 reader capability is greatly enhanced. Endnote is introduced. List numbering is now customizable. Basic HTML and PDF writing support is enabled. Basic ODText reader is introduced.

Features

  • Image: Get image dimensions without EXIF extension - @andrew-kzoo #184
  • Table: Add tblGrid element for Libre/Open Office table sizing - @gianis6 #183
  • Footnote: Ability to insert textbreak in footnote $footnote->addTextBreak() - @ivanlanin
  • Footnote: Ability to style footnote reference mark by using FootnoteReference style - @ivanlanin
  • Font: Add bgColor to font style to define background using HEX color - @jcarignan #168
  • Table: Add exactHeight to row style to define whether row height should be exact or atLeast - @jcarignan #168
  • Element: New CheckBox element for sections and table cells - @ozilion #156
  • Settings: Ability to use PCLZip as alternative to ZipArchive - @bskrtich @ivanlanin #106, #140, #185
  • Template: Ability to find & replace variables in headers & footers - @dgudgeon #190
  • Template: Ability to clone & delete block of text using cloneBlock and deleteBlock - @diego-vieira #191
  • TOC: Ability to have two or more TOC in one document and to set min and max depth for TOC - @Pyreweb #189
  • Table: Ability to add footnote in table cell - @ivanlanin #187
  • Footnote: Ability to add image in footnote - @ivanlanin #187
  • ListItem: Ability to add list item in header/footer - @ivanlanin #187
  • CheckBox: Ability to add checkbox in header/footer - @ivanlanin #187
  • Link: Ability to add link in header/footer - @ivanlanin #187
  • Object: Ability to add object in header, footer, textrun, and footnote - @ivanlanin #187
  • Media: Add Media::resetElements() to reset all media data - @juzi #19
  • General: Add Style::resetStyles() - @ivanlanin #187
  • DOCX Reader: Ability to read header, footer, footnotes, link, preservetext, textbreak, pagebreak, table, list, image, and title - @ivanlanin
  • Endnote: Ability to add endnotes - @ivanlanin
  • ListItem: Ability to create custom list and reset list number - @ivanlanin #10, #198
  • ODT Writer: Basic table writing support - @ivanlanin
  • Image: Keep image aspect ratio if only 1 dimension styled - @japonicus #194
  • HTML Writer: Basic HTML writer: text, textrun, link, title, textbreak, table, image (as Base64), footnote, endnote - @ivanlanin #203, #67, #147
  • PDF Writer: Basic PDF writer using DomPDF: All HTML element except image - @ivanlanin #68
  • DOCX Writer: Change docProps/app.xml Application to PHPWord - @ivanlanin
  • DOCX Writer: Create word/settings.xml and word/webSettings.xml dynamically - @ivanlanin
  • ODT Writer: Basic image writing - @ivanlanin
  • ODT Writer: Link writing - @ivanlanin
  • ODT Reader: Basic ODText Reader - @ivanlanin #71
  • Section: Ability to define gutter and line numbering - @ivanlanin
  • Font: Small caps, all caps, and double strikethrough - @ivanlanin #151
  • Settings: Ability to use measurement unit other than twips with setMeasurementUnit - @ivanlanin #199
  • Style: Remove bgColor from Font, Table, and Cell and put it into the new Shading style - @ivanlanin
  • Style: New Indentation and Spacing style - @ivanlanin
  • Paragraph: Ability to define first line and right indentation - @ivanlanin

Bugfixes

  • Footnote: Footnote content doesn't show footnote reference number - @ivanlanin #170
  • Documentation: Error in a function - @theBeerNut #195

Deprecated

  • createTextRun replaced by addTextRun
  • createFootnote replaced by addFootnote
  • createHeader replaced by addHeader
  • createFooter replaced by addFooter
  • createSection replaced by addSection
  • Element\Footnote::getReferenceId replaced by Element\AbstractElement::getRelationId
  • Element\Footnote::setReferenceId replaced by Element\AbstractElement::setRelationId
  • Footnote::addFootnoteLinkElement replaced by Media::addElement
  • Footnote::getFootnoteLinkElements replaced by Media::getElements
  • All current methods on Media
  • Element\Link::getLinkSrc replaced by Element\Link::getTarget
  • Element\Link::getLinkName replaced by Element\Link::getText
  • Style\Cell::getDefaultBorderColor

Miscellaneous

  • Documentation: Simplify page level docblock - @ivanlanin #179
  • Writer: Refactor writer classes and create a new Write\AbstractWriter abstract class - @ivanlanin #160
  • General: Refactor folders: Element and Exception - @ivanlanin #187
  • General: Remove legacy HashTable and Shared\ZipStreamWrapper and all related properties/methods - @ivanlanin #187
  • Element: New AbstractElement abstract class - @ivanlanin #187
  • Media: Refactor media class to use one method for all docPart (section, header, footer, footnote) - @ivanlanin #187
  • General: Remove underscore prefix from all private properties name - @ivanlanin #187
  • General: Move Section Settings to Style\Section - @ivanlanin #187
  • General: Give Abstract prefix and Interface suffix for all abstract classes and interfaces as per PHP-FIG recommendation - @ivanlanin #187
  • Style: New Style\AbstractStyle abstract class - @ivanlanin #187
  • Writer: New 'ODText\Base` class - @ivanlanin #187
  • General: Rename Footnote to Footnotes to reflect the nature of collection - @ivanlanin
  • General: Add some unit tests for Shared & Element (100%!) - @Progi1984
  • Test: Add some samples and tests for image wrapping style - @brunocasado #59
  • Refactor: Remove Style\Tabs - @ivanlanin
  • Refactor: Apply composite pattern for writers - @ivanlanin
  • Refactor: Split AbstractContainer from AbstractElement - @ivanlanin
  • Refactor: Apply composite pattern for Word2007 reader - @ivanlanin