documentProperties = new DocumentProperties(); $this->titles = new Titles(); $this->footnotes = new Footnotes(); $this->endnotes = new Endnotes(); } /** * Get document properties object * * @return DocumentProperties */ public function getDocumentProperties() { return $this->documentProperties; } /** * Set document properties object * * @param DocumentProperties $documentProperties * @return self */ public function setDocumentProperties(DocumentProperties $documentProperties) { $this->documentProperties = $documentProperties; return $this; } /** * Get all sections * * @return \PhpOffice\PhpWord\Element\Section[] */ public function getSections() { return $this->sections; } /** * Create new section * * @param array $settings * @return \PhpOffice\PhpWord\Element\Section */ public function addSection($settings = null) { $section = new Section(count($this->sections) + 1, $settings); $section->setPhpWord($this); $this->sections[] = $section; return $section; } /** * Get titles * * @return \PhpOffice\PhpWord\Collection\Titles */ public function getTitles() { return $this->titles; } /** * Add new title * * @param \PhpOffice\PhpWord\Element\Title $title * @return int */ public function addTitle($title) { return $this->titles->addItem($title); } /** * Get footnotes * * @return \PhpOffice\PhpWord\Collection\Footnotes */ public function getFootnotes() { return $this->footnotes; } /** * Add new footnote * * @param \PhpOffice\PhpWord\Element\Footnote $footnote * @return int */ public function addFootnote($footnote) { return $this->footnotes->addItem($footnote); } /** * Get endnotes * * @return \PhpOffice\PhpWord\Collection\Endnotes */ public function getEndnotes() { return $this->endnotes; } /** * Add new endnote * * @param \PhpOffice\PhpWord\Element\Endnote $endnote * @return int */ public function addEndnote($endnote) { return $this->endnotes->addItem($endnote); } /** * Get default font name * * @return string */ public function getDefaultFontName() { return Settings::getDefaultFontName(); } /** * Set default font name * * @param string $fontName */ public function setDefaultFontName($fontName) { Settings::setDefaultFontName($fontName); } /** * Get default font size * * @return integer */ public function getDefaultFontSize() { return Settings::getDefaultFontSize(); } /** * Set default font size * * @param int $fontSize */ public function setDefaultFontSize($fontSize) { Settings::setDefaultFontSize($fontSize); } /** * Set default paragraph style definition to styles.xml * * @param array $styles Paragraph style definition */ public function setDefaultParagraphStyle($styles) { Style::setDefaultParagraphStyle($styles); } /** * Adds a paragraph style definition to styles.xml * * @param string $styleName * @param array $styles */ public function addParagraphStyle($styleName, $styles) { Style::addParagraphStyle($styleName, $styles); } /** * Adds a font style definition to styles.xml * * @param string $styleName * @param mixed $fontStyle * @param mixed $paragraphStyle */ public function addFontStyle($styleName, $fontStyle, $paragraphStyle = null) { Style::addFontStyle($styleName, $fontStyle, $paragraphStyle); } /** * Adds a table style definition to styles.xml * * @param string $styleName * @param mixed $styleTable * @param mixed $styleFirstRow */ public function addTableStyle($styleName, $styleTable, $styleFirstRow = null) { Style::addTableStyle($styleName, $styleTable, $styleFirstRow); } /** * Adds a heading style definition to styles.xml * * @param int $depth * @param mixed $fontStyle * @param mixed $paragraphStyle */ public function addTitleStyle($depth, $fontStyle, $paragraphStyle = null) { Style::addTitleStyle($depth, $fontStyle, $paragraphStyle); } /** * Adds a hyperlink style to styles.xml * * @param string $styleName * @param mixed $styles */ public function addLinkStyle($styleName, $styles) { Style::addLinkStyle($styleName, $styles); } /** * Adds a numbering style * * @param string $styleName * @param mixed $styles */ public function addNumberingStyle($styleName, $styles) { Style::addNumberingStyle($styleName, $styles); } /** * Load template by filename * * @param string $filename Fully qualified filename. * @return Template * @throws \PhpOffice\PhpWord\Exception\Exception */ public function loadTemplate($filename) { if (file_exists($filename)) { return new Template($filename); } else { throw new Exception("Template file {$filename} not found."); } } /** * Create new section * * @param array $settings * @return \PhpOffice\PhpWord\Element\Section * @deprecated 0.10.0 * @codeCoverageIgnore */ public function createSection($settings = null) { return $this->addSection($settings); } }