setPhpWord($phpWord); $this->parts = ['Head', 'Body']; foreach ($this->parts as $partName) { $partClass = 'PhpOffice\\PhpWord\\Writer\\HTML\\Part\\' . $partName; if (class_exists($partClass)) { /** @var \PhpOffice\PhpWord\Writer\HTML\Part\AbstractPart $part Type hint */ $part = new $partClass(); $part->setParentWriter($this); $this->writerParts[strtolower($partName)] = $part; } } } /** * Save PhpWord to file. * * @param string $filename */ public function save($filename = null): void { $this->writeFile($this->openFile($filename), $this->getContent()); } /** * Get content. * * @return string * * @since 0.11.0 */ public function getContent() { $content = ''; $content .= '' . PHP_EOL; $content .= '' . PHP_EOL; $content .= '' . PHP_EOL; $content .= $this->getWriterPart('Head')->write(); $content .= $this->getWriterPart('Body')->write(); $content .= '' . PHP_EOL; return $content; } /** * Get is PDF. * * @return bool */ public function isPdf() { return $this->isPdf; } /** * Get notes. * * @return array */ public function getNotes() { return $this->notes; } /** * Add note. * * @param int $noteId * @param string $noteMark */ public function addNote($noteId, $noteMark): void { $this->notes[$noteId] = $noteMark; } }