| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- /**
- * This file is part of PHPWord - A pure PHP library for reading and writing
- * word processing documents.
- *
- * PHPWord is free software distributed under the terms of the GNU Lesser
- * General Public License version 3 as published by the Free Software Foundation.
- *
- * For the full copyright and license information, please read the LICENSE
- * file that was distributed with this source code. For the full list of
- * contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
- *
- * @see https://github.com/PHPOffice/PHPWord
- * @copyright 2010-2018 PHPWord contributors
- * @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
- */
- namespace PhpOffice\PhpWord\Writer\HTML\Style;
- use PhpOffice\PhpWord\SimpleType\Jc;
- /**
- * Paragraph style HTML writer
- *
- * @since 0.10.0
- */
- class Paragraph extends AbstractStyle
- {
- /**
- * Write style
- *
- * @return string
- */
- public function write()
- {
- $style = $this->getStyle();
- if (!$style instanceof \PhpOffice\PhpWord\Style\Paragraph) {
- return '';
- }
- $css = array();
- // Alignment
- if ('' !== $style->getAlignment()) {
- $textAlign = '';
- switch ($style->getAlignment()) {
- case Jc::CENTER:
- $textAlign = 'center';
- break;
- case Jc::END:
- case Jc::MEDIUM_KASHIDA:
- case Jc::HIGH_KASHIDA:
- case Jc::LOW_KASHIDA:
- case Jc::RIGHT:
- $textAlign = 'right';
- break;
- case Jc::BOTH:
- case Jc::DISTRIBUTE:
- case Jc::THAI_DISTRIBUTE:
- case Jc::JUSTIFY:
- $textAlign = 'justify';
- break;
- default: //all others, align left
- $textAlign = 'left';
- break;
- }
- $css['text-align'] = $textAlign;
- }
- // Spacing
- $spacing = $style->getSpace();
- if (!is_null($spacing)) {
- $before = $spacing->getBefore();
- $after = $spacing->getAfter();
- $css['margin-top'] = $this->getValueIf(!is_null($before), ($before / 20) . 'pt');
- $css['margin-bottom'] = $this->getValueIf(!is_null($after), ($after / 20) . 'pt');
- } else {
- $css['margin-top'] = '0';
- $css['margin-bottom'] = '0';
- }
- return $this->assembleCss($css);
- }
- }
|