Releases: PHPOffice/PHPWord
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
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
anddeleteBlock
- @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
toPHPWord
- @ivanlanin - DOCX Writer: Create
word/settings.xml
andword/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
fromFont
,Table
, andCell
and put it into the newShading
style - @ivanlanin - Style: New
Indentation
andSpacing
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 byaddTextRun
createFootnote
replaced byaddFootnote
createHeader
replaced byaddHeader
createFooter
replaced byaddFooter
createSection
replaced byaddSection
Element\Footnote::getReferenceId
replaced byElement\AbstractElement::getRelationId
Element\Footnote::setReferenceId
replaced byElement\AbstractElement::setRelationId
Footnote::addFootnoteLinkElement
replaced byMedia::addElement
Footnote::getFootnoteLinkElements
replaced byMedia::getElements
- All current methods on
Media
Element\Link::getLinkSrc
replaced byElement\Link::getTarget
Element\Link::getLinkName
replaced byElement\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
andException
- @ivanlanin #187 - General: Remove legacy
HashTable
andShared\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
toStyle\Section
- @ivanlanin #187 - General: Give
Abstract
prefix andInterface
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
toFootnotes
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
fromAbstractElement
- @ivanlanin - Refactor: Apply composite pattern for Word2007 reader - @ivanlanin
v0.9.1
This is a bugfix release for PSR-4 compatibility.
- Fixed PSR-4 composer autoloader - @AntonTyutin
v0.9.0
This release marked the transformation to namespaces (PHP 5.3+).
Features
- Image: Ability to use remote or GD images using
addImage()
on sections, headers, footer, cells, and textruns - @ivanlanin - Header: Ability to use remote or GD images using
addWatermark()
- @ivanlanin
Bugfixes
- Preserve text doesn't render correctly when the text is not the first word, e.g. 'Page {PAGE}' - @ivanlanin
Miscellaneous
- Move documentation to Read The Docs - @Progi1984 @ivanlanin #82
- Reorganize and redesign samples folder - @ivanlanin #137
- Use
PhpOffice\PhpWord
namespace for PSR compliance - @RomanSyroeshko @gabrielbull #159, #58 - Restructure folders and change folder name
Classes
tosrc
andTests
totest
for PSR compliance - @RomanSyroeshko @gabrielbull - Compliance to phpDocumentor - @ivanlanin
- Merge Style\TableFull into Style\Table. Style\TableFull is deprecated - @ivanlanin #160
- Merge Section\MemoryImage into Section\Image. Section\Image is deprecated - @ivanlanin #160
v0.8.1
This is a bugfix release for image detection functionality.
- Added fallback for computers that do not have exif_imagetype - @bskrtich, @gabrielbull
v0.8.0
This release merged a lot of improvements from the community. Unit tests introduced in this release and has reached 90% code coverage.
Features
- Template: Permit to save a template generated as a file (PHPWord_Template::saveAs()) - @RomanSyroeshko #56, #57
- Word2007: Support sections page numbering - @gabrielbull
- Word2007: Added line height methods to mirror the line height settings in Word in the paragraph styling - @gabrielbull
- Word2007: Added support for page header & page footer height - @JillElaine #5
- General: Add ability to manage line breaks after image insertion - @bskrtich #6, #66, #84
- Template: Ability to limit number of replacements performed by setValue() method of Template class - @RomanSyroeshko #52, #53, #85
- Table row: Repeat as header row & allow row to break across pages - @ivanlanin #48, #86
- Table: Table width in percentage - @ivanlanin #48, #86
- Font: Superscript and subscript - @ivanlanin #48, #86
- Paragraph: Hanging paragraph - @ivanlanin #48, #86
- Section: Multicolumn and section break - @ivanlanin #48, #86
- Template: Ability to apply XSL style sheet to Template - @RomanSyroeshko #46, #47, #83
- General: PHPWord_Shared_Font::pointSizeToTwips() converter - @ivanlanin #87
- Paragraph: Ability to define normal paragraph style with PHPWord::setNormalStyle() - @ivanlanin #87
- Paragraph: Ability to define parent style (basedOn) and style for following paragraph (next) - @ivanlanin #87
- Clone table rows on the fly when using a template document - @jeroenmoors #44, #88
- Initial addition of basic footnote support - @deds #16
- Paragraph: Ability to define paragraph pagination: widow control, keep next, keep lines, and page break before - @ivanlanin #92
- General: PHPWord_Style_Font refactoring - @ivanlanin #93
- Font: Use points instead of halfpoints internally. Conversion to halfpoints done during XML Writing. - @ivanlanin #93
- Paragraph: setTabs() function - @ivanlanin #92
- General: Basic support for TextRun on ODT and RTF - @ivanlanin #99
- Reader: Basic Reader for Word2007 - @ivanlanin #104
- TextRun: Allow Text Break in Text Run - @bskrtich #109
- General: Support for East Asian fontstyle - @jhfangying #111, #118
- Image: Use exif_imagetype to check image format instead of extension name - @gabrielbull #114
- General: Setting for XMLWriter Compatibility option - @bskrtich #103
- MemoryImage: Allow remote image when allow_url_open = on - @ivanlanin #122
- TextBreak: Allow font and paragraph style for text break - @ivanlanin #18
Bugfixes
- Fixed bug with cell styling - @gabrielbull
- Fixed bug list items inside of cells - @gabrielbull
- Adding a value that contains "&" in a template breaks it - @SiebelsTim #51
- Example in README.md is broken - @Progi1984 #89
- General: PHPWord_Shared_Drawing::centimetersToPixels() conversion - @ivanlanin #94
- Footnote: Corrupt DOCX reported by MS Word when sections > 1 and not every sections have footnote - @ivanlanin #125
Miscellaneous
- UnitTests - @Progi1984
v0.7.0
This is the first release after a long development hiatus in CodePlex. This release initialized ODT and RTF Writer, along with some other new features for the existing Word2007 Writer, e.g. tab, multiple header, rowspan and colspan. Composer and Travis were added.
Features
- Implement RTF Writer - @Progi1984 #1
- Implement ODT Writer - @Progi1984 #2
- Word2007: Add rowspan and colspan to cells - @kaystrobach
- Word2007: Support for tab stops - @RLovelett
- Word2007: Support Multiple headers - @RLovelett
- Word2007: Wrapping Styles to Images - @gabrielbull
- Added support for image wrapping style - @gabrielbull
Bugfixes
- "Warning: Invalid error type specified in ...\PHPWord.php on line 226" is thrown when the specified template file is not found - @RomanSyroeshko #32
- PHPWord_Shared_String.IsUTF8 returns FALSE for Cyrillic UTF-8 input - @RomanSyroeshko #34
- Temporary files naming logic in PHPWord_Template can lead to a collision - @RomanSyroeshko #38
Miscellaneous
- Add superscript/subscript styling in Excel2007 Writer - @MarkBaker
- add indentation support to paragraphs - @deds
- Support for Composer - @Progi1984 #27
- Basic CI with Travis - @Progi1984
- Added PHPWord_Exception and exception when could not copy the template - @Progi1984
- IMPROVED: Moved examples out of Classes directory - @Progi1984
- IMPROVED: Advanced string replace in setValue for Template - @Esmeraldo #49