����JFIF��H�H����Exif��MM�*���� ��3����V�����3������3�(��������������������3�����
Server IP : 74.208.127.88 / Your IP : 216.73.216.57 Web Server : Apache/2.4.41 (Ubuntu) System : Linux ubuntu 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/muebles/pos11/core/controller/PhpWord/Style/ |
Upload File : |
<?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. * * @link https://github.com/PHPOffice/PHPWord * @copyright 2010-2014 PHPWord contributors * @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3 */ namespace PhpOffice\PhpWord\Style; use PhpOffice\PhpWord\Exception\InvalidStyleException; use PhpOffice\PhpWord\Shared\String; /** * Paragraph style * * OOXML: * - General: alignment, outline level * - Indentation: left, right, firstline, hanging * - Spacing: before, after, line spacing * - Pagination: widow control, keep next, keep line, page break before * - Formatting exception: suppress line numbers, don't hyphenate * - Textbox options * - Tabs * - Shading * - Borders * * OpenOffice: * - Indents & spacing * - Alignment * - Text flow * - Outline & numbering * - Tabs * - Dropcaps * - Tabs * - Borders * - Background * * @link http://www.schemacentral.com/sc/ooxml/t-w_CT_PPr.html */ class Paragraph extends Border { /** * @const int One line height equals 240 twip */ const LINE_HEIGHT = 240; /** * Aliases * * @var array */ protected $aliases = array('line-height' => 'lineHeight'); /** * Parent style * * @var string */ private $basedOn = 'Normal'; /** * Style for next paragraph * * @var string */ private $next; /** * Alignment * * @var \PhpOffice\PhpWord\Style\Alignment */ private $alignment; /** * Indentation * * @var \PhpOffice\PhpWord\Style\Indentation */ private $indentation; /** * Spacing * * @var \PhpOffice\PhpWord\Style\Spacing */ private $spacing; /** * Text line height * * @var int */ private $lineHeight; /** * Allow first/last line to display on a separate page * * @var bool */ private $widowControl = true; /** * Keep paragraph with next paragraph * * @var bool */ private $keepNext = false; /** * Keep all lines on one page * * @var bool */ private $keepLines = false; /** * Start paragraph on next page * * @var bool */ private $pageBreakBefore = false; /** * Numbering style name * * @var string */ private $numStyle; /** * Numbering level * * @var int */ private $numLevel = 0; /** * Set of Custom Tab Stops * * @var \PhpOffice\PhpWord\Style\Tab[] */ private $tabs = array(); /** * Shading * * @var \PhpOffice\PhpWord\Style\Shading */ private $shading; /** * Create new instance */ public function __construct() { $this->alignment = new Alignment(); } /** * Set Style value * * @param string $key * @param mixed $value * @return self */ public function setStyleValue($key, $value) { $key = String::removeUnderscorePrefix($key); if ($key == 'indent' || $key == 'hanging') { $value = $value * 720; } elseif ($key == 'spacing') { $value += 240; // because line height of 1 matches 240 twips } return parent::setStyleValue($key, $value); } /** * Get style values * * An experiment to retrieve all style values in one function. This will * reduce function call and increase cohesion between functions. Should be * implemented in all styles. * * @ignoreScrutinizerPatch * @return array */ public function getStyleValues() { $styles = array( 'name' => $this->getStyleName(), 'basedOn' => $this->getBasedOn(), 'next' => $this->getNext(), 'alignment' => $this->getAlign(), 'indentation' => $this->getIndentation(), 'spacing' => $this->getSpace(), 'pagination' => array( 'widowControl' => $this->hasWidowControl(), 'keepNext' => $this->isKeepNext(), 'keepLines' => $this->isKeepLines(), 'pageBreak' => $this->hasPageBreakBefore(), ), 'numbering' => array( 'style' => $this->getNumStyle(), 'level' => $this->getNumLevel(), ), 'tabs' => $this->getTabs(), 'shading' => $this->getShading(), ); return $styles; } /** * Get alignment * * @return string */ public function getAlign() { return $this->alignment->getValue(); } /** * Set alignment * * @param string $value * @return self */ public function setAlign($value = null) { $this->alignment->setValue($value); return $this; } /** * Get parent style ID * * @return string */ public function getBasedOn() { return $this->basedOn; } /** * Set parent style ID * * @param string $value * @return self */ public function setBasedOn($value = 'Normal') { $this->basedOn = $value; return $this; } /** * Get style for next paragraph * * @return string */ public function getNext() { return $this->next; } /** * Set style for next paragraph * * @param string $value * @return self */ public function setNext($value = null) { $this->next = $value; return $this; } /** * Get shading * * @return \PhpOffice\PhpWord\Style\Indentation */ public function getIndentation() { return $this->indentation; } /** * Set shading * * @param mixed $value * @return self */ public function setIndentation($value = null) { $this->setObjectVal($value, 'Indentation', $this->indentation); return $this; } /** * Get indentation * * @return int */ public function getIndent() { return $this->getChildStyleValue($this->indentation, 'left'); } /** * Set indentation * * @param int $value * @return self */ public function setIndent($value = null) { return $this->setIndentation(array('left' => $value)); } /** * Get hanging * * @return int */ public function getHanging() { return $this->getChildStyleValue($this->indentation, 'hanging'); } /** * Set hanging * * @param int $value * @return self */ public function setHanging($value = null) { return $this->setIndentation(array('hanging' => $value)); } /** * Get spacing * * @return \PhpOffice\PhpWord\Style\Spacing * @todo Rename to getSpacing in 1.0 */ public function getSpace() { return $this->spacing; } /** * Set spacing * * @param mixed $value * @return self * @todo Rename to setSpacing in 1.0 */ public function setSpace($value = null) { $this->setObjectVal($value, 'Spacing', $this->spacing); return $this; } /** * Get space before paragraph * * @return integer */ public function getSpaceBefore() { return $this->getChildStyleValue($this->spacing, 'before'); } /** * Set space before paragraph * * @param int $value * @return self */ public function setSpaceBefore($value = null) { return $this->setSpace(array('before' => $value)); } /** * Get space after paragraph * * @return integer */ public function getSpaceAfter() { return $this->getChildStyleValue($this->spacing, 'after'); } /** * Set space after paragraph * * @param int $value * @return self */ public function setSpaceAfter($value = null) { return $this->setSpace(array('after' => $value)); } /** * Get spacing between lines * * @return int */ public function getSpacing() { return $this->getChildStyleValue($this->spacing, 'line'); } /** * Set spacing between lines * * @param int $value * @return self */ public function setSpacing($value = null) { return $this->setSpace(array('line' => $value)); } /** * Get line height * * @return int|float */ public function getLineHeight() { return $this->lineHeight; } /** * Set the line height * * @param int|float|string $lineHeight * @return self * @throws \PhpOffice\PhpWord\Exception\InvalidStyleException */ public function setLineHeight($lineHeight) { if (is_string($lineHeight)) { $lineHeight = floatval(preg_replace('/[^0-9\.\,]/', '', $lineHeight)); } if ((!is_integer($lineHeight) && !is_float($lineHeight)) || !$lineHeight) { throw new InvalidStyleException('Line height must be a valid number'); } $this->lineHeight = $lineHeight; $this->setSpacing($lineHeight * self::LINE_HEIGHT); return $this; } /** * Get allow first/last line to display on a separate page setting * * @return bool */ public function hasWidowControl() { return $this->widowControl; } /** * Set keep paragraph with next paragraph setting * * @param bool $value * @return self */ public function setWidowControl($value = true) { $this->widowControl = $this->setBoolVal($value, $this->widowControl); return $this; } /** * Get keep paragraph with next paragraph setting * * @return bool */ public function isKeepNext() { return $this->keepNext; } /** * Set keep paragraph with next paragraph setting * * @param bool $value * @return self */ public function setKeepNext($value = true) { $this->keepNext = $this->setBoolVal($value, $this->keepNext); return $this; } /** * Get keep all lines on one page setting * * @return bool */ public function isKeepLines() { return $this->keepLines; } /** * Set keep all lines on one page setting * * @param bool $value * @return self */ public function setKeepLines($value = true) { $this->keepLines = $this->setBoolVal($value, $this->keepLines); return $this; } /** * Get start paragraph on next page setting * * @return bool */ public function hasPageBreakBefore() { return $this->pageBreakBefore; } /** * Set start paragraph on next page setting * * @param bool $value * @return self */ public function setPageBreakBefore($value = true) { $this->pageBreakBefore = $this->setBoolVal($value, $this->pageBreakBefore); return $this; } /** * Get numbering style name * * @return string */ public function getNumStyle() { return $this->numStyle; } /** * Set numbering style name * * @param string $value * @return self */ public function setNumStyle($value) { $this->numStyle = $value; return $this; } /** * Get numbering level * * @return int */ public function getNumLevel() { return $this->numLevel; } /** * Set numbering level * * @param int $value * @return self */ public function setNumLevel($value = 0) { $this->numLevel = $this->setIntVal($value, $this->numLevel); return $this; } /** * Get tabs * * @return \PhpOffice\PhpWord\Style\Tab[] */ public function getTabs() { return $this->tabs; } /** * Set tabs * * @param array $value * @return self */ public function setTabs($value = null) { if (is_array($value)) { $this->tabs = $value; } return $this; } /** * Get allow first/last line to display on a separate page setting * * @deprecated 0.10.0 * @codeCoverageIgnore */ public function getWidowControl() { return $this->hasWidowControl(); } /** * Get keep paragraph with next paragraph setting * * @deprecated 0.10.0 * @codeCoverageIgnore */ public function getKeepNext() { return $this->isKeepNext(); } /** * Get keep all lines on one page setting * * @deprecated 0.10.0 * @codeCoverageIgnore */ public function getKeepLines() { return $this->isKeepLines(); } /** * Get start paragraph on next page setting * * @deprecated 0.10.0 * @codeCoverageIgnore */ public function getPageBreakBefore() { return $this->hasPageBreakBefore(); } /** * Get shading * * @return \PhpOffice\PhpWord\Style\Shading */ public function getShading() { return $this->shading; } /** * Set shading * * @param mixed $value * @return self */ public function setShading($value = null) { $this->setObjectVal($value, 'Shading', $this->shading); return $this; } }