_headerCount = $sectionCount; } /** * Add a Text Element * * @param string $text * @param mixed $styleFont * @param mixed $styleParagraph * @return PHPWord_Section_Text */ public function addText($text, $styleFont = null, $styleParagraph = null) { //$givenText = utf8_encode($text); //$givenText = iconv('gbk', 'utf-8', $givenText); //$givenText = iconv('GB2312', 'utf-8//IGNORE', $givenText); $givenText = PHPWord_Media::GBKToUTF8($givenText); $text = new PHPWord_Section_Text($givenText, $styleFont, $styleParagraph); $this->_elementCollection[] = $text; return $text; } /** * Add a TextBreak Element * * @param int $count */ public function addTextBreak($count = 1) { for($i=1; $i<=$count; $i++) { $this->_elementCollection[] = new PHPWord_Section_TextBreak(); } } /** * Create a new TextRun * * @return PHPWord_Section_TextRun */ public function createTextRun($styleParagraph = null) { $textRun = new PHPWord_Section_TextRun($styleParagraph); $this->_elementCollection[] = $textRun; return $textRun; } /** * Add a Table Element * * @param mixed $style * @return PHPWord_Section_Table */ public function addTable($style = null) { $table = new PHPWord_Section_Table('header', $this->_headerCount, $style); $this->_elementCollection[] = $table; return $table; } /** * Add a Image Element * * @param string $src * @param mixed $style * @return PHPWord_Section_Image */ public function addImage($src, $style = null) { $image = new PHPWord_Section_Image($src, $style); if(!is_null($image->getSource())) { $rID = PHPWord_Media::addHeaderMediaElement($this->_headerCount, $src); $image->setRelationId($rID); $this->_elementCollection[] = $image; return $image; } else { trigger_error('Src does not exist or invalid image type.', E_ERROR); } } /** * Add a by PHP created Image Element * * @param string $link * @param mixed $style * @return PHPWord_Section_MemoryImage */ public function addMemoryImage($link, $style = null) { $memoryImage = new PHPWord_Section_MemoryImage($link, $style); if(!is_null($memoryImage->getSource())) { $rID = PHPWord_Media::addHeaderMediaElement($this->_headerCount, $link, $memoryImage); $memoryImage->setRelationId($rID); $this->_elementCollection[] = $memoryImage; return $memoryImage; } else { trigger_error('Unsupported image type.'); } } /** * Add a PreserveText Element * * @param string $text * @param mixed $styleFont * @param mixed $styleParagraph * @return PHPWord_Section_Footer_PreserveText */ public function addPreserveText($text, $styleFont = null, $styleParagraph = null) { //$text = utf8_encode($text); //$text = iconv('gbk', 'utf-8', $text); //$text = iconv('GB2312', 'utf-8//IGNORE', $text); $text = PHPWord_Media::GBKToUTF8($text); $ptext = new PHPWord_Section_Footer_PreserveText($text, $styleFont, $styleParagraph); $this->_elementCollection[] = $ptext; return $ptext; } /** * Add a Watermark Element * * @param string $src * @param mixed $style * @return PHPWord_Section_Image */ public function addWatermark($src, $style = null) { $image = new PHPWord_Section_Image($src, $style, true); if(!is_null($image->getSource())) { $rID = PHPWord_Media::addHeaderMediaElement($this->_headerCount, $src); $image->setRelationId($rID); $this->_elementCollection[] = $image; return $image; } else { trigger_error('Src does not exist or invalid image type.', E_ERROR); } } /** * Get Header Relation ID */ public function getRelationId() { return $this->_rId; } /** * Set Header Relation ID * * @param int $rId */ public function setRelationId($rId) { $this->_rId = $rId; } /** * Get all Header Elements */ public function getElements() { return $this->_elementCollection; } /** * Get Header Count */ public function getHeaderCount() { return $this->_headerCount; } } ?>