TextRun.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. /**
  3. * This file is part of PHPWord - A pure PHP library for reading and writing
  4. * word processing documents.
  5. *
  6. * PHPWord is free software distributed under the terms of the GNU Lesser
  7. * General Public License version 3 as published by the Free Software Foundation.
  8. *
  9. * For the full copyright and license information, please read the LICENSE
  10. * file that was distributed with this source code. For the full list of
  11. * contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
  12. *
  13. * @see https://github.com/PHPOffice/PHPWord
  14. * @copyright 2010-2018 PHPWord contributors
  15. * @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
  16. */
  17. namespace PhpOffice\PhpWord\Element;
  18. use PhpOffice\PhpWord\Style\Paragraph;
  19. /**
  20. * Textrun/paragraph element
  21. */
  22. class TextRun extends AbstractContainer
  23. {
  24. /**
  25. * @var string Container type
  26. */
  27. protected $container = 'TextRun';
  28. /**
  29. * Paragraph style
  30. *
  31. * @var string|\PhpOffice\PhpWord\Style\Paragraph
  32. */
  33. protected $paragraphStyle;
  34. /**
  35. * Create new instance
  36. *
  37. * @param string|array|\PhpOffice\PhpWord\Style\Paragraph $paragraphStyle
  38. */
  39. public function __construct($paragraphStyle = null)
  40. {
  41. $this->paragraphStyle = $this->setParagraphStyle($paragraphStyle);
  42. }
  43. /**
  44. * Get Paragraph style
  45. *
  46. * @return string|\PhpOffice\PhpWord\Style\Paragraph
  47. */
  48. public function getParagraphStyle()
  49. {
  50. return $this->paragraphStyle;
  51. }
  52. /**
  53. * Set Paragraph style
  54. *
  55. * @param string|array|\PhpOffice\PhpWord\Style\Paragraph $style
  56. * @return string|\PhpOffice\PhpWord\Style\Paragraph
  57. */
  58. public function setParagraphStyle($style = null)
  59. {
  60. if (is_array($style)) {
  61. $this->paragraphStyle = new Paragraph();
  62. $this->paragraphStyle->setStyleByArray($style);
  63. } elseif ($style instanceof Paragraph) {
  64. $this->paragraphStyle = $style;
  65. } elseif (null === $style) {
  66. $this->paragraphStyle = new Paragraph();
  67. } else {
  68. $this->paragraphStyle = $style;
  69. }
  70. return $this->paragraphStyle;
  71. }
  72. }