Overview

Packages

  • PHP
  • PHPWord

Classes

  • PHPWord
  • PHPWord_Autoloader
  • PHPWord_DocumentProperties
  • PHPWord_HashTable
  • PHPWord_IOFactory
  • PHPWord_Media
  • PHPWord_Section
  • PHPWord_Section_Footer
  • PHPWord_Section_Footer_PreserveText
  • PHPWord_Section_Header
  • PHPWord_Section_Image
  • PHPWord_Section_Link
  • PHPWord_Section_ListItem
  • PHPWord_Section_MemoryImage
  • PHPWord_Section_Object
  • PHPWord_Section_PageBreak
  • PHPWord_Section_Settings
  • PHPWord_Section_Table
  • PHPWord_Section_Table_Cell
  • PHPWord_Section_Table_Row
  • PHPWord_Section_Text
  • PHPWord_Section_TextBreak
  • PHPWord_Section_TextRun
  • PHPWord_Section_Title
  • PHPWord_Shared_Drawing
  • PHPWord_Shared_File
  • PHPWord_Shared_Font
  • PHPWord_Shared_String
  • PHPWord_Shared_XMLWriter
  • PHPWord_Shared_ZipStreamWrapper
  • PHPWord_Style
  • PHPWord_Style_Cell
  • PHPWord_Style_Font
  • PHPWord_Style_Image
  • PHPWord_Style_ListItem
  • PHPWord_Style_Paragraph
  • PHPWord_Style_Row
  • PHPWord_Style_Tab
  • PHPWord_Style_Table
  • PHPWord_Style_TableFull
  • PHPWord_Style_Tabs
  • PHPWord_Style_TOC
  • PHPWord_Template
  • PHPWord_TOC
  • PHPWord_Writer_ODText
  • PHPWord_Writer_ODText_Content
  • PHPWord_Writer_ODText_Manifest
  • PHPWord_Writer_ODText_Meta
  • PHPWord_Writer_ODText_Mimetype
  • PHPWord_Writer_ODText_Styles
  • PHPWord_Writer_ODText_WriterPart
  • PHPWord_Writer_RTF
  • PHPWord_Writer_Word2007
  • PHPWord_Writer_Word2007_Base
  • PHPWord_Writer_Word2007_ContentTypes
  • PHPWord_Writer_Word2007_DocProps
  • PHPWord_Writer_Word2007_Document
  • PHPWord_Writer_Word2007_DocumentRels
  • PHPWord_Writer_Word2007_Footer
  • PHPWord_Writer_Word2007_Header
  • PHPWord_Writer_Word2007_Rels
  • PHPWord_Writer_Word2007_Styles
  • PHPWord_Writer_Word2007_WriterPart

Interfaces

  • PHPWord_Writer_IWriter

Exceptions

  • PHPWord_Exception
  • Overview
  • Package
  • Class
  • Tree
  1: <?php
  2: /**
  3:  * PHPWord
  4:  *
  5:  * Copyright (c) 2013 PHPWord
  6:  *
  7:  * This library is free software; you can redistribute it and/or
  8:  * modify it under the terms of the GNU Lesser General Public
  9:  * License as published by the Free Software Foundation; either
 10:  * version 2.1 of the License, or (at your option) any later version.
 11:  *
 12:  * This library is distributed in the hope that it will be useful,
 13:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 14:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15:  * Lesser General Public License for more details.
 16:  *
 17:  * You should have received a copy of the GNU Lesser General Public
 18:  * License along with this library; if not, write to the Free Software
 19:  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 20:  *
 21:  * @category   PHPWord
 22:  * @package    PHPWord
 23:  * @copyright  Copyright (c) 2013 PHPWord
 24:  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
 25:  * @version    0.7.0
 26:  */
 27: 
 28: /**
 29:  * PHPWord_Section_Table_Cell
 30:  */
 31: class PHPWord_Section_Table_Cell
 32: {
 33: 
 34:     /**
 35:      * Cell Width
 36:      *
 37:      * @var int
 38:      */
 39:     private $_width = null;
 40: 
 41:     /**
 42:      * Cell Style
 43:      *
 44:      * @var PHPWord_Style_Cell
 45:      */
 46:     private $_style;
 47: 
 48:     /**
 49:      * Cell Element Collection
 50:      *
 51:      * @var array
 52:      */
 53:     private $_elementCollection = array();
 54: 
 55:     /**
 56:      * Table holder
 57:      *
 58:      * @var string
 59:      */
 60:     private $_insideOf;
 61: 
 62:     /**
 63:      * Section/Header/Footer count
 64:      *
 65:      * @var int
 66:      */
 67:     private $_pCount;
 68: 
 69: 
 70:     /**
 71:      * Create a new Table Cell
 72:      *
 73:      * @param string $insideOf
 74:      * @param int $pCount
 75:      * @param int $width
 76:      * @param mixed $style
 77:      */
 78:     public function __construct($insideOf, $pCount, $width = null, $style = null)
 79:     {
 80:         $this->_insideOf = $insideOf;
 81:         $this->_pCount = $pCount;
 82:         $this->_width = $width;
 83: 
 84:         if (!is_null($style)) {
 85:             if (is_array($style)) {
 86:                 $this->_style = new PHPWord_Style_Cell();
 87: 
 88:                 foreach ($style as $key => $value) {
 89:                     if (substr($key, 0, 1) != '_') {
 90:                         $key = '_' . $key;
 91:                     }
 92:                     $this->_style->setStyleValue($key, $value);
 93:                 }
 94:             } else {
 95:                 $this->_style = $style;
 96:             }
 97:         }
 98:     }
 99: 
100:     /**
101:      * Add a Text Element
102:      *
103:      * @param string $text
104:      * @param mixed $style
105:      * @return PHPWord_Section_Text
106:      */
107:     public function addText($text, $styleFont = null, $styleParagraph = null)
108:     {
109:         if (!PHPWord_Shared_String::IsUTF8($text)) {
110:             $text = utf8_encode($text);
111:         }
112:         $text = new PHPWord_Section_Text($text, $styleFont, $styleParagraph);
113:         $this->_elementCollection[] = $text;
114:         return $text;
115:     }
116: 
117:     /**
118:      * Add a Link Element
119:      *
120:      * @param string $linkSrc
121:      * @param string $linkName
122:      * @param mixed $style
123:      * @return PHPWord_Section_Link
124:      */
125:     public function addLink($linkSrc, $linkName = null, $style = null)
126:     {
127:         if ($this->_insideOf == 'section') {
128:             if (!PHPWord_Shared_String::IsUTF8($linkSrc)) {
129:                 $linkSrc = utf8_encode($linkSrc);
130:             }
131:             if (!is_null($linkName)) {
132:                 if (!PHPWord_Shared_String::IsUTF8($linkName)) {
133:                     $linkName = utf8_encode($linkName);
134:                 }
135:             }
136: 
137:             $link = new PHPWord_Section_Link($linkSrc, $linkName, $style);
138:             $rID = PHPWord_Media::addSectionLinkElement($linkSrc);
139:             $link->setRelationId($rID);
140: 
141:             $this->_elementCollection[] = $link;
142:             return $link;
143:         } else {
144:             trigger_error('Unsupported Link header / footer reference');
145:             return false;
146:         }
147:     }
148: 
149:     /**
150:      * Add a TextBreak Element
151:      *
152:      * @param int $count
153:      */
154:     public function addTextBreak()
155:     {
156:         $this->_elementCollection[] = new PHPWord_Section_TextBreak();
157:     }
158: 
159:     /**
160:      * Add a ListItem Element
161:      *
162:      * @param string $text
163:      * @param int $depth
164:      * @param mixed $styleText
165:      * @param mixed $styleList
166:      * @return PHPWord_Section_ListItem
167:      */
168:     public function addListItem($text, $depth = 0, $styleText = null, $styleList = null)
169:     {
170:         if (!PHPWord_Shared_String::IsUTF8($text)) {
171:             $text = utf8_encode($text);
172:         }
173:         $listItem = new PHPWord_Section_ListItem($text, $depth, $styleText, $styleList);
174:         $this->_elementCollection[] = $listItem;
175:         return $listItem;
176:     }
177: 
178:     /**
179:      * Add a Image Element
180:      *
181:      * @param string $src
182:      * @param mixed $style
183:      * @return PHPWord_Section_Image
184:      */
185:     public function addImage($src, $style = null)
186:     {
187:         $image = new PHPWord_Section_Image($src, $style);
188: 
189:         if (!is_null($image->getSource())) {
190:             if ($this->_insideOf == 'section') {
191:                 $rID = PHPWord_Media::addSectionMediaElement($src, 'image');
192:             } elseif ($this->_insideOf == 'header') {
193:                 $rID = PHPWord_Media::addHeaderMediaElement($this->_pCount, $src);
194:             } elseif ($this->_insideOf == 'footer') {
195:                 $rID = PHPWord_Media::addFooterMediaElement($this->_pCount, $src);
196:             }
197:             $image->setRelationId($rID);
198: 
199:             $this->_elementCollection[] = $image;
200:             return $image;
201:         } else {
202:             trigger_error('Source does not exist or unsupported image type.');
203:         }
204:     }
205: 
206:     /**
207:      * Add a by PHP created Image Element
208:      *
209:      * @param string $link
210:      * @param mixed $style
211:      * @return PHPWord_Section_MemoryImage
212:      */
213:     public function addMemoryImage($link, $style = null)
214:     {
215:         $memoryImage = new PHPWord_Section_MemoryImage($link, $style);
216:         if (!is_null($memoryImage->getSource())) {
217:             if ($this->_insideOf == 'section') {
218:                 $rID = PHPWord_Media::addSectionMediaElement($link, 'image', $memoryImage);
219:             } elseif ($this->_insideOf == 'header') {
220:                 $rID = PHPWord_Media::addHeaderMediaElement($this->_pCount, $link, $memoryImage);
221:             } elseif ($this->_insideOf == 'footer') {
222:                 $rID = PHPWord_Media::addFooterMediaElement($this->_pCount, $link, $memoryImage);
223:             }
224:             $memoryImage->setRelationId($rID);
225: 
226:             $this->_elementCollection[] = $memoryImage;
227:             return $memoryImage;
228:         } else {
229:             trigger_error('Unsupported image type.');
230:         }
231:     }
232: 
233:     /**
234:      * Add a OLE-Object Element
235:      *
236:      * @param string $src
237:      * @param mixed $style
238:      * @return PHPWord_Section_Object
239:      */
240:     public function addObject($src, $style = null)
241:     {
242:         $object = new PHPWord_Section_Object($src, $style);
243: 
244:         if (!is_null($object->getSource())) {
245:             $inf = pathinfo($src);
246:             $ext = $inf['extension'];
247:             if (strlen($ext) == 4 && strtolower(substr($ext, -1)) == 'x') {
248:                 $ext = substr($ext, 0, -1);
249:             }
250: 
251:             $iconSrc = PHPWORD_BASE_PATH . 'PHPWord/_staticDocParts/';
252:             if (!file_exists($iconSrc . '_' . $ext . '.png')) {
253:                 $iconSrc = $iconSrc . '_default.png';
254:             } else {
255:                 $iconSrc .= '_' . $ext . '.png';
256:             }
257: 
258:             $rIDimg = PHPWord_Media::addSectionMediaElement($iconSrc, 'image');
259:             $data = PHPWord_Media::addSectionMediaElement($src, 'oleObject');
260:             $rID = $data[0];
261:             $objectId = $data[1];
262: 
263:             $object->setRelationId($rID);
264:             $object->setObjectId($objectId);
265:             $object->setImageRelationId($rIDimg);
266: 
267:             $this->_elementCollection[] = $object;
268:             return $object;
269:         } else {
270:             trigger_error('Source does not exist or unsupported object type.');
271:         }
272:     }
273: 
274:     /**
275:      * Add a PreserveText Element
276:      *
277:      * @param string $text
278:      * @param mixed $styleFont
279:      * @param mixed $styleParagraph
280:      * @return PHPWord_Section_Footer_PreserveText
281:      */
282:     public function addPreserveText($text, $styleFont = null, $styleParagraph = null)
283:     {
284:         if ($this->_insideOf == 'footer' || $this->_insideOf == 'header') {
285:             if (!PHPWord_Shared_String::IsUTF8($text)) {
286:                 $text = utf8_encode($text);
287:             }
288:             $ptext = new PHPWord_Section_Footer_PreserveText($text, $styleFont, $styleParagraph);
289:             $this->_elementCollection[] = $ptext;
290:             return $ptext;
291:         } else {
292:             trigger_error('addPreserveText only supported in footer/header.');
293:         }
294:     }
295: 
296:     /**
297:      * Create a new TextRun
298:      *
299:      * @return PHPWord_Section_TextRun
300:      */
301:     public function createTextRun($styleParagraph = null)
302:     {
303:         $textRun = new PHPWord_Section_TextRun($styleParagraph);
304:         $this->_elementCollection[] = $textRun;
305:         return $textRun;
306:     }
307: 
308:     /**
309:      * Get all Elements
310:      *
311:      * @return array
312:      */
313:     public function getElements()
314:     {
315:         return $this->_elementCollection;
316:     }
317: 
318:     /**
319:      * Get Cell Style
320:      *
321:      * @return PHPWord_Style_Cell
322:      */
323:     public function getStyle()
324:     {
325:         return $this->_style;
326:     }
327: 
328:     /**
329:      * Get Cell width
330:      *
331:      * @return int
332:      */
333:     public function getWidth()
334:     {
335:         return $this->_width;
336:     }
337: }
PHPWord API Docs API documentation generated by ApiGen 2.8.0