v0.10.0
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
tblGridelement 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
FootnoteReferencestyle - @ivanlanin - Font: Add
bgColorto font style to define background using HEX color - @jcarignan #168 - Table: Add
exactHeightto row style to define whether row height should be exact or atLeast - @jcarignan #168 - Element: New
CheckBoxelement 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
cloneBlockanddeleteBlock- @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.xmlApplicationtoPHPWord- @ivanlanin - DOCX Writer: Create
word/settings.xmlandword/webSettings.xmldynamically - @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
bgColorfromFont,Table, andCelland put it into the newShadingstyle - @ivanlanin - Style: New
IndentationandSpacingstyle - @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
createTextRunreplaced byaddTextRuncreateFootnotereplaced byaddFootnotecreateHeaderreplaced byaddHeadercreateFooterreplaced byaddFootercreateSectionreplaced byaddSectionElement\Footnote::getReferenceIdreplaced byElement\AbstractElement::getRelationIdElement\Footnote::setReferenceIdreplaced byElement\AbstractElement::setRelationIdFootnote::addFootnoteLinkElementreplaced byMedia::addElementFootnote::getFootnoteLinkElementsreplaced byMedia::getElements- All current methods on
Media Element\Link::getLinkSrcreplaced byElement\Link::getTargetElement\Link::getLinkNamereplaced byElement\Link::getTextStyle\Cell::getDefaultBorderColor
Miscellaneous
- Documentation: Simplify page level docblock - @ivanlanin #179
- Writer: Refactor writer classes and create a new
Write\AbstractWriterabstract class - @ivanlanin #160 - General: Refactor folders:
ElementandException- @ivanlanin #187 - General: Remove legacy
HashTableandShared\ZipStreamWrapperand all related properties/methods - @ivanlanin #187 - Element: New
AbstractElementabstract 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
SettingstoStyle\Section- @ivanlanin #187 - General: Give
Abstractprefix andInterfacesuffix for all abstract classes and interfaces as per PHP-FIG recommendation - @ivanlanin #187 - Style: New
Style\AbstractStyleabstract class - @ivanlanin #187 - Writer: New 'ODText\Base` class - @ivanlanin #187
- General: Rename
FootnotetoFootnotesto 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
AbstractContainerfromAbstractElement- @ivanlanin - Refactor: Apply composite pattern for Word2007 reader - @ivanlanin