Tidy up for pull request
This commit is contained in:
parent
3fa49ee53b
commit
0edaaaab50
@ -150,8 +150,25 @@ class PHPWord_Section_Settings
|
|||||||
*/
|
*/
|
||||||
private $_borderBottomColor;
|
private $_borderBottomColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Section Columns Count
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
private $_colsNum;
|
private $_colsNum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Section Spacing Between Columns
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
private $_colsSpace;
|
private $_colsSpace;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Section Break Type
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
private $_breakType;
|
private $_breakType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -175,7 +192,7 @@ class PHPWord_Section_Settings
|
|||||||
$this->_borderBottomSize = null;
|
$this->_borderBottomSize = null;
|
||||||
$this->_borderBottomColor = null;
|
$this->_borderBottomColor = null;
|
||||||
$this->_colsNum = 1;
|
$this->_colsNum = 1;
|
||||||
$this->_colsSpace = 0.5 * 1440 / 2.54; // in twips: 1 twip = 1/1440 in; 1 cm = 2.54 in
|
$this->_colsSpace = 720;
|
||||||
$this->_breakType = null;
|
$this->_breakType = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -550,26 +567,60 @@ class PHPWord_Section_Settings
|
|||||||
return $this->_borderBottomColor;
|
return $this->_borderBottomColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getColsNum() {
|
/**
|
||||||
return $this->_colsNum;
|
* Set Section Columns Count
|
||||||
}
|
*
|
||||||
|
* @param in $pValue
|
||||||
|
*/
|
||||||
public function setColsNum($pValue = '') {
|
public function setColsNum($pValue = '') {
|
||||||
$this->_colsNum = $pValue;
|
$this->_colsNum = $pValue;
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
public function getColsSpace() {
|
|
||||||
return $this->_colsSpace;
|
/**
|
||||||
|
* Get Section Columns Count
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getColsNum() {
|
||||||
|
return $this->_colsNum;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Section Space Between Columns
|
||||||
|
*
|
||||||
|
* @param int $pValue
|
||||||
|
*/
|
||||||
public function setColsSpace($pValue = '') {
|
public function setColsSpace($pValue = '') {
|
||||||
$this->_colsSpace = $pValue;
|
$this->_colsSpace = $pValue;
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getBreakType() {
|
/**
|
||||||
return $this->_breakType;
|
* Get Section Space Between Columns
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getColsSpace() {
|
||||||
|
return $this->_colsSpace;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Break Type
|
||||||
|
*
|
||||||
|
* @param string $pValue
|
||||||
|
*/
|
||||||
public function setBreakType($pValue = null) {
|
public function setBreakType($pValue = null) {
|
||||||
$this->_breakType = $pValue;
|
$this->_breakType = $pValue;
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Break Type
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getBreakType() {
|
||||||
|
return $this->_breakType;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -103,10 +103,10 @@ class PHPWord_Style_Paragraph
|
|||||||
public function setStyleValue($key, $value)
|
public function setStyleValue($key, $value)
|
||||||
{
|
{
|
||||||
if ($key == '_indent') {
|
if ($key == '_indent') {
|
||||||
$value = $value * 1440 / 2.54; // Measured by cm
|
$value = (int)$value * 720; // 720 twips per indent
|
||||||
}
|
}
|
||||||
if ($key == '_hanging') {
|
if ($key == '_hanging') {
|
||||||
$value = $value * 1440 / 2.54; // Measured by cm
|
$value =(int)$value * 720;
|
||||||
}
|
}
|
||||||
if ($key == '_spacing') {
|
if ($key == '_spacing') {
|
||||||
$value += 240; // because line height of 1 matches 240 twips
|
$value += 240; // because line height of 1 matches 240 twips
|
||||||
@ -231,16 +231,6 @@ class PHPWord_Style_Paragraph
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get hanging
|
|
||||||
*
|
|
||||||
* @return int
|
|
||||||
*/
|
|
||||||
public function getHanging()
|
|
||||||
{
|
|
||||||
return $this->_hanging;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set hanging
|
* Set hanging
|
||||||
*
|
*
|
||||||
@ -253,10 +243,20 @@ class PHPWord_Style_Paragraph
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get hanging
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getHanging()
|
||||||
|
{
|
||||||
|
return $this->_hanging;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get tabs
|
* Get tabs
|
||||||
*
|
*
|
||||||
* @return PHPWord_Style_Tabs
|
* @return PHPWord_Style_Paragraph
|
||||||
*/
|
*/
|
||||||
public function getTabs()
|
public function getTabs()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -240,8 +240,10 @@ class PHPWord_Writer_Word2007_Document extends PHPWord_Writer_Word2007_Base
|
|||||||
$objWriter->startElement('w:cols');
|
$objWriter->startElement('w:cols');
|
||||||
if($colsNum > 1){
|
if($colsNum > 1){
|
||||||
$objWriter->writeAttribute('w:num', $colsNum);
|
$objWriter->writeAttribute('w:num', $colsNum);
|
||||||
|
$objWriter->writeAttribute('w:space', $colsSpace);
|
||||||
|
} else {
|
||||||
|
$objWriter->writeAttribute('w:space', '720');
|
||||||
}
|
}
|
||||||
$objWriter->writeAttribute('w:space', $colsSpace);
|
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -56,27 +56,22 @@ class PHPWord_Writer_Word2007_Styles extends PHPWord_Writer_Word2007_Base
|
|||||||
// Write DocDefaults
|
// Write DocDefaults
|
||||||
$this->_writeDocDefaults($objWriter);
|
$this->_writeDocDefaults($objWriter);
|
||||||
|
|
||||||
// Write Normal
|
// Reset Normal Paragraph Style
|
||||||
// Start Hack
|
|
||||||
$objWriter->startElement('w:style');
|
$objWriter->startElement('w:style');
|
||||||
$objWriter->writeAttribute('w:type', 'paragraph');
|
$objWriter->writeAttribute('w:type', 'paragraph');
|
||||||
$objWriter->writeAttribute('w:default', '1');
|
$objWriter->writeAttribute('w:default', '1');
|
||||||
$objWriter->writeAttribute('w:styleId', 'Normal');
|
$objWriter->writeAttribute('w:styleId', 'Normal');
|
||||||
|
|
||||||
$objWriter->startElement('w:name');
|
$objWriter->startElement('w:name');
|
||||||
$objWriter->writeAttribute('w:val', 'Normal');
|
$objWriter->writeAttribute('w:val', 'Normal');
|
||||||
$objWriter->endElement();
|
$objWriter->endElement(); // w:name
|
||||||
|
|
||||||
$objWriter->startElement('w:pPr');
|
$objWriter->startElement('w:pPr');
|
||||||
$objWriter->startElement('w:spacing');
|
$objWriter->startElement('w:spacing');
|
||||||
$objWriter->writeAttribute('w:before', 20 * 0);
|
$objWriter->writeAttribute('w:before', 0);
|
||||||
$objWriter->writeAttribute('w:after', 20 * 0);
|
$objWriter->writeAttribute('w:after', 0);
|
||||||
$objWriter->writeAttribute('w:line', 240 * 1);
|
$objWriter->writeAttribute('w:line', 240);
|
||||||
$objWriter->endElement();
|
$objWriter->endElement(); // w:spacing
|
||||||
$objWriter->endElement();
|
$objWriter->endElement(); // w:pPr
|
||||||
|
$objWriter->endElement(); // w:style
|
||||||
$objWriter->endElement();
|
|
||||||
// End Hack
|
|
||||||
|
|
||||||
// Write Style Definitions
|
// Write Style Definitions
|
||||||
$styles = PHPWord_Style::getStyles();
|
$styles = PHPWord_Style::getStyles();
|
||||||
@ -113,7 +108,6 @@ class PHPWord_Writer_Word2007_Styles extends PHPWord_Writer_Word2007_Base
|
|||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
|
|
||||||
if (!is_null($paragraphStyle)) {
|
if (!is_null($paragraphStyle)) {
|
||||||
// 2013-12-31 11:34 IL
|
|
||||||
$objWriter->startElement('w:basedOn');
|
$objWriter->startElement('w:basedOn');
|
||||||
$objWriter->writeAttribute('w:val', 'Normal');
|
$objWriter->writeAttribute('w:val', 'Normal');
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
@ -134,7 +128,6 @@ class PHPWord_Writer_Word2007_Styles extends PHPWord_Writer_Word2007_Base
|
|||||||
$objWriter->writeAttribute('w:val', $styleName);
|
$objWriter->writeAttribute('w:val', $styleName);
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
|
|
||||||
// 2013-12-31 11:34 IL
|
|
||||||
$objWriter->startElement('w:basedOn');
|
$objWriter->startElement('w:basedOn');
|
||||||
$objWriter->writeAttribute('w:val', 'Normal');
|
$objWriter->writeAttribute('w:val', 'Normal');
|
||||||
$objWriter->endElement();
|
$objWriter->endElement();
|
||||||
|
|||||||
94
README.md
94
README.md
@ -1,16 +1,92 @@
|
|||||||
# PHPWord - OpenXML - Read, Write and Create Word documents in PHP
|
# PHPWord - OpenXML - Read, Write and Create Word documents in PHP
|
||||||
|
|
||||||
PHPWord is a library written in PHP that create word documents.
|
PHPWord is a library written in PHP that create word documents.
|
||||||
|
No Windows operating system is needed for usage because the result are docx files (Office Open XML) that can be
|
||||||
|
opened by all major office software.
|
||||||
|
|
||||||
## Add features in this fork
|
## Want to contribute?
|
||||||
|
Fork us!
|
||||||
|
|
||||||
* Superscript/subscript `w:vertAlign`
|
## Requirements
|
||||||
* Hanging
|
|
||||||
* Section with column
|
* PHP version 5.3.0 or higher
|
||||||
* Softbreak (SHIFT + ENTER) in Text Run
|
|
||||||
* Redefine normal paragraph style and base all other style from it
|
|
||||||
* Section `breakType`. Used especially for continuous column
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
PHPWord is licensed under [LGPL (GNU LESSER GENERAL PUBLIC LICENSE)](https://github.com/PHPOffice/PHPWord/blob/master/license.md)
|
PHPWord is licensed under [LGPL (GNU LESSER GENERAL PUBLIC LICENSE)](https://github.com/PHPOffice/PHPWord/blob/master/license.md)
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
It is recommended that you install the PHPWord library [through composer](http://getcomposer.org/). To do so, add
|
||||||
|
the following lines to your ``composer.json``.
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"require": {
|
||||||
|
"phpoffice/phpword": "dev-master"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
The following is a basic example of the PHPWord library.
|
||||||
|
|
||||||
|
```php
|
||||||
|
$PHPWord = new PHPWord();
|
||||||
|
|
||||||
|
// Every element you want to append to the word document is placed in a section. So you need a section:
|
||||||
|
$section = $PHPWord->createSection();
|
||||||
|
|
||||||
|
// After creating a section, you can append elements:
|
||||||
|
$section->addText('Hello world!');
|
||||||
|
|
||||||
|
// You can directly style your text by giving the addText function an array:
|
||||||
|
$section->addText('Hello world! I am formatted.', array('name'=>'Tahoma', 'size'=>16, 'bold'=>true));
|
||||||
|
|
||||||
|
// If you often need the same style again you can create a user defined style to the word document
|
||||||
|
// and give the addText function the name of the style:
|
||||||
|
$PHPWord->addFontStyle('myOwnStyle', array('name'=>'Verdana', 'size'=>14, 'color'=>'1B2232'));
|
||||||
|
$section->addText('Hello world! I am formatted by a user defined style', 'myOwnStyle');
|
||||||
|
|
||||||
|
// You can also putthe appended element to local object an call functions like this:
|
||||||
|
$myTextElement = $section->addText('Hello World!');
|
||||||
|
$myTextElement->setBold();
|
||||||
|
$myTextElement->setName('Verdana');
|
||||||
|
$myTextElement->setSize(22);
|
||||||
|
|
||||||
|
// At least write the document to webspace:
|
||||||
|
$objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007');
|
||||||
|
$objWriter->save('helloWorld.docx');
|
||||||
|
```
|
||||||
|
|
||||||
|
## Images
|
||||||
|
|
||||||
|
You can add images easily using the following example.
|
||||||
|
|
||||||
|
```php
|
||||||
|
$section = $PHPWord->createSection();
|
||||||
|
$section->addImage('mars.jpg');
|
||||||
|
```
|
||||||
|
|
||||||
|
Images settings include:
|
||||||
|
* ``width`` width in pixels
|
||||||
|
* ``height`` height in pixels
|
||||||
|
* ``align`` image alignment, __left__, __right__ or __center__
|
||||||
|
* ``marginTop`` top margin in inches, can be negative
|
||||||
|
* ``marginLeft`` left margin in inches, can be negative
|
||||||
|
* ``wrappingStyle`` can be inline, __square__, __tight__, __behind__, __infront__
|
||||||
|
|
||||||
|
To add an image with settings, consider the following example.
|
||||||
|
|
||||||
|
```php
|
||||||
|
$section->addImage(
|
||||||
|
'mars.jpg',
|
||||||
|
array(
|
||||||
|
'width' => 100,
|
||||||
|
'height' => 100,
|
||||||
|
'marginTop' => -1,
|
||||||
|
'marginLeft' => -1,
|
||||||
|
wrappingStyle => 'behind'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
```
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user