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:  * Class PHPWord_Section_MemoryImage
 30:  */
 31: class PHPWord_Section_MemoryImage
 32: {
 33: 
 34:     /**
 35:      * Image Src
 36:      *
 37:      * @var string
 38:      */
 39:     private $_src;
 40: 
 41:     /**
 42:      * Image Style
 43:      *
 44:      * @var PHPWord_Style_Image
 45:      */
 46:     private $_style;
 47: 
 48:     /**
 49:      * Image Relation ID
 50:      *
 51:      * @var string
 52:      */
 53:     private $_rId;
 54: 
 55:     /**
 56:      * Image Type
 57:      *
 58:      * @var string
 59:      */
 60:     private $_imageType;
 61: 
 62:     /**
 63:      * Image Create function
 64:      *
 65:      * @var string
 66:      */
 67:     private $_imageCreateFunc;
 68: 
 69:     /**
 70:      * Image function
 71:      *
 72:      * @var string
 73:      */
 74:     private $_imageFunc;
 75: 
 76:     /**
 77:      * Image function
 78:      *
 79:      * @var string
 80:      */
 81:     private $_imageExtension;
 82: 
 83: 
 84:     /**
 85:      * Create a new Image
 86:      *
 87:      * @param string $src
 88:      * @param mixed style
 89:      */
 90:     public function __construct($src, $style = null)
 91:     {
 92:         $imgData = getimagesize($src);
 93:         $this->_imageType = $imgData['mime'];
 94: 
 95:         $_supportedImageTypes = array('image/jpeg', 'image/gif', 'image/png');
 96: 
 97:         if (in_array($this->_imageType, $_supportedImageTypes)) {
 98:             $this->_src = $src;
 99:             $this->_style = new PHPWord_Style_Image();
100: 
101:             if (!is_null($style) && is_array($style)) {
102:                 foreach ($style as $key => $value) {
103:                     if (substr($key, 0, 1) != '_') {
104:                         $key = '_' . $key;
105:                     }
106:                     $this->_style->setStyleValue($key, $value);
107:                 }
108:             }
109: 
110:             if ($this->_style->getWidth() == null && $this->_style->getHeight() == null) {
111:                 $this->_style->setWidth($imgData[0]);
112:                 $this->_style->setHeight($imgData[1]);
113:             }
114: 
115:             $this->_setFunctions();
116: 
117:             return $this;
118:         } else {
119:             return false;
120:         }
121:     }
122: 
123:     /**
124:      * Set Functions
125:      */
126:     private function _setFunctions()
127:     {
128:         switch ($this->_imageType) {
129:             case 'image/png':
130:                 $this->_imageCreateFunc = 'imagecreatefrompng';
131:                 $this->_imageFunc = 'imagepng';
132:                 $this->_imageExtension = 'png';
133:                 break;
134:             case 'image/gif':
135:                 $this->_imageCreateFunc = 'imagecreatefromgif';
136:                 $this->_imageFunc = 'imagegif';
137:                 $this->_imageExtension = 'gif';
138:                 break;
139:             case 'image/jpeg':
140:             case 'image/jpg':
141:                 $this->_imageCreateFunc = 'imagecreatefromjpeg';
142:                 $this->_imageFunc = 'imagejpeg';
143:                 $this->_imageExtension = 'jpg';
144:                 break;
145:         }
146:     }
147: 
148: 
149:     /**
150:      * Get Image style
151:      *
152:      * @return PHPWord_Style_Image
153:      */
154:     public function getStyle()
155:     {
156:         return $this->_style;
157:     }
158: 
159:     /**
160:      * Get Image Relation ID
161:      *
162:      * @return int
163:      */
164:     public function getRelationId()
165:     {
166:         return $this->_rId;
167:     }
168: 
169:     /**
170:      * Set Image Relation ID
171:      *
172:      * @param int $rId
173:      */
174:     public function setRelationId($rId)
175:     {
176:         $this->_rId = $rId;
177:     }
178: 
179:     /**
180:      * Get Image Source
181:      *
182:      * @return string
183:      */
184:     public function getSource()
185:     {
186:         return $this->_src;
187:     }
188: 
189:     /**
190:      * Get Image Media ID
191:      *
192:      * @return string
193:      */
194:     public function getMediaId()
195:     {
196:         return md5($this->_src);
197:     }
198: 
199:     /**
200:      * Get Image Type
201:      *
202:      * @return string
203:      */
204:     public function getImageType()
205:     {
206:         return $this->_imageType;
207:     }
208: 
209:     /**
210:      * Get Image Create Function
211:      *
212:      * @return string
213:      */
214:     public function getImageCreateFunction()
215:     {
216:         return $this->_imageCreateFunc;
217:     }
218: 
219:     /**
220:      * Get Image Function
221:      *
222:      * @return string
223:      */
224:     public function getImageFunction()
225:     {
226:         return $this->_imageFunc;
227:     }
228: 
229:     /**
230:      * Get Image Extension
231:      *
232:      * @return string
233:      */
234:     public function getImageExtension()
235:     {
236:         return $this->_imageExtension;
237:     }
238: }
239: 
PHPWord API Docs API documentation generated by ApiGen 2.8.0