Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
d9d5f9a
Update Border.php - Add BorderSpace for Sections and Paragraphs
rasamassen Oct 6, 2025
8ecc6d6
Update Border.php - Fix Missing Underline
rasamassen Oct 6, 2025
73baf4a
Update Border.php - Greatly Improved
rasamassen Oct 6, 2025
93ae63b
Update Paragraph.php - Adds Border support
rasamassen Oct 6, 2025
9b4f037
Update Section.php - Improves Border Support
rasamassen Oct 6, 2025
d5e32cd
Update Border.php
rasamassen Oct 6, 2025
9876742
Update StyleTest.php
rasamassen Oct 6, 2025
519bf69
Update StyleTest.php
rasamassen Oct 6, 2025
2abcc85
Update StyleTest.php
rasamassen Oct 6, 2025
a3dcb86
Update 1.5.0.md
rasamassen Oct 6, 2025
e11d71d
Update Section.php
rasamassen Oct 7, 2025
668599d
Update Paragraph.php
rasamassen Oct 7, 2025
a333f50
Update Border.php
rasamassen Oct 7, 2025
63b5a66
Update StyleTest.php
rasamassen Oct 7, 2025
b3f4a12
Update Border.php
rasamassen Oct 7, 2025
f5dae82
Update Border.php
rasamassen Oct 7, 2025
1ceaa5a
Update StyleTest.php
rasamassen Oct 7, 2025
f6027fd
Update StyleTest.php
rasamassen Oct 7, 2025
1039aee
Update Border.php
rasamassen Oct 7, 2025
09d1d2d
Update Border.php
rasamassen Oct 7, 2025
af12392
Update Border.php
rasamassen Oct 7, 2025
283aa67
Update Border.php
rasamassen Oct 7, 2025
3e97c7e
Update Border.php
rasamassen Oct 7, 2025
f65cdf4
Update Border.php
rasamassen Oct 7, 2025
ccd572d
Update Border.php
rasamassen Oct 7, 2025
b7a67f5
Update MarginBorder.php
rasamassen Oct 7, 2025
a6f8f6c
Create BorderTest.php
rasamassen Oct 7, 2025
b30a6c1
Update BorderTest.php
rasamassen Oct 7, 2025
644625c
Update Border.php
rasamassen Oct 7, 2025
3a6ce93
Update Border.php
rasamassen Oct 8, 2025
3849afa
Update Border.php
rasamassen Oct 8, 2025
c9d4054
Update Border.php
rasamassen Oct 8, 2025
550d36c
Update BorderTest.php
rasamassen Oct 8, 2025
bf912ea
Update Border.php
rasamassen Oct 8, 2025
bc5efdd
Update BorderTest.php
rasamassen Oct 8, 2025
79661df
Update BorderTest.php
rasamassen Oct 8, 2025
2b3c282
Update BorderTest.php
rasamassen Oct 8, 2025
39ada03
Update Border.php
rasamassen Oct 8, 2025
f842fcd
Update BorderTest.php
rasamassen Oct 8, 2025
4dbd6dd
Update Border.php
rasamassen Oct 8, 2025
66b75dc
Update Border.php
rasamassen Oct 8, 2025
1c2dff6
Update Border.php
rasamassen Oct 8, 2025
23c5f03
Update Border.php
rasamassen Oct 8, 2025
8d27ccf
Update Border.php
rasamassen Oct 8, 2025
25784d3
Update Border.php
rasamassen Oct 8, 2025
bf31cf4
Update Border.php
rasamassen Oct 8, 2025
ff04100
Update BorderTest.php
rasamassen Oct 8, 2025
a81cbef
Update BorderTest.php
rasamassen Oct 9, 2025
2b44c72
Update Border.php
rasamassen Oct 9, 2025
0306bcc
Update 1.5.0.md
rasamassen Oct 9, 2025
ac5c422
Update StyleTest.php
rasamassen Oct 9, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion docs/changes/1.x/1.5.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
### Bug fixes

- Set writeAttribute return type by [@radarhere](https://github.com/radarhere) fixing [#2204](https://github.com/PHPOffice/PHPWord/issues/2204) in [#2776](https://github.com/PHPOffice/PHPWord/pull/2776)
- Writer RTF: Border - Improve add missing features, also adds spaces to Styles > Border and fixes hasBorder to check all border variables by [@rasamassen](https://github.com/rasamassen) in [#2838](https://github.com/PHPOffice/PHPWord/pull/2838)

### Miscellaneous

Expand All @@ -16,4 +17,4 @@

### BC Breaks

### Notes
### Notes
2 changes: 1 addition & 1 deletion src/PhpWord/SimpleType/Border.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ final class Border extends AbstractEnum
const THIN_THICK_LARGE_GAP = 'thinThickLargeGap'; //A thin line contained within a thick line with a large-sized intermediate gap
const THIN_THICK_MEDIUM_GAP = 'thinThickMediumGap'; //A thick line contained within a thin line with a medium-sized intermediate gap
const THIN_THICK_SMALL_GAP = 'thinThickSmallGap'; //A thick line contained within a thin line with a small intermediate gap
const THIN_THICK_THINLARGE_GAP = 'thinThickThinLargeGap'; //A thin-thick-thin line with a large gap
const THIN_THICK_THIN_LARGE_GAP = 'thinThickThinLargeGap'; //A thin-thick-thin line with a large gap
const THIN_THICK_THIN_MEDIUM_GAP = 'thinThickThinMediumGap'; //A thin-thick-thin line with a medium gap
const THIN_THICK_THIN_SMALL_GAP = 'thinThickThinSmallGap'; //A thin-thick-thin line with a small gap
const THREE_D_EMBOSS = 'threeDEmboss'; //A three-staged gradient line, getting darker towards the paragraph
Expand Down
162 changes: 159 additions & 3 deletions src/PhpWord/Style/Border.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,13 @@ class Border extends AbstractStyle
*/
protected $borderTopStyle;

/**
* Border Top Space. For section and paragraph borders only.
*
* @var float|int
*/
protected $borderTopSpace;

/**
* Border Left Size.
*
Expand All @@ -67,6 +74,13 @@ class Border extends AbstractStyle
*/
protected $borderLeftStyle;

/**
* Border Left Space. For section and paragraph borders only.
*
* @var float|int
*/
protected $borderLeftSpace;

/**
* Border Right Size.
*
Expand All @@ -88,6 +102,13 @@ class Border extends AbstractStyle
*/
protected $borderRightStyle;

/**
* Border Right Space. For section and paragraph borders only.
*
* @var float|int
*/
protected $borderRightSpace;

/**
* Border Bottom Size.
*
Expand All @@ -109,6 +130,13 @@ class Border extends AbstractStyle
*/
protected $borderBottomStyle;

/**
* Border Bottom Space. For section and paragraph borders only.
*
* @var float|int
*/
protected $borderBottomSpace;

/**
* Top margin spacing.
*
Expand Down Expand Up @@ -140,7 +168,7 @@ class Border extends AbstractStyle
/**
* Get border size.
*
* @return int[]
* @return array<float|int>
*/
public function getBorderSize()
{
Expand Down Expand Up @@ -233,6 +261,38 @@ public function setBorderStyle($value = null)
return $this;
}

/**
* Get border space.
*
* @return array<float|int>
*/
public function getBorderSpace()
{
return [
$this->getBorderTopSpace(),
$this->getBorderLeftSpace(),
$this->getBorderRightSpace(),
$this->getBorderBottomSpace(),
];
}

/**
* Set border space.
*
* @param float|int $value
*
* @return self
*/
public function setBorderSpace($value = null)
{
$this->setBorderTopSpace($value);
$this->setBorderLeftSpace($value);
$this->setBorderRightSpace($value);
$this->setBorderBottomSpace($value);

return $this;
}

/**
* Get border top size.
*
Expand Down Expand Up @@ -292,7 +352,7 @@ public function getBorderTopStyle()
}

/**
* Set border top Style.
* Set border top style.
*
* @param string $value
*
Expand All @@ -305,6 +365,30 @@ public function setBorderTopStyle($value = null)
return $this;
}

/**
* Get border top space.
*
* @return float|int
*/
public function getBorderTopSpace()
{
return $this->borderTopSpace;
}

/**
* Set border top space.
*
* @param float|int $value
*
* @return self
*/
public function setBorderTopSpace($value = null)
{
$this->borderTopSpace = $value;

return $this;
}

/**
* Get border left size.
*
Expand Down Expand Up @@ -377,6 +461,30 @@ public function setBorderLeftStyle($value = null)
return $this;
}

/**
* Get border left space.
*
* @return float|int
*/
public function getBorderLeftSpace()
{
return $this->borderLeftSpace;
}

/**
* Set border left space.
*
* @param float|int $value
*
* @return self
*/
public function setBorderLeftSpace($value = null)
{
$this->borderLeftSpace = $value;

return $this;
}

/**
* Get border right size.
*
Expand Down Expand Up @@ -449,6 +557,30 @@ public function setBorderRightStyle($value = null)
return $this;
}

/**
* Get border right space.
*
* @return float|int
*/
public function getBorderRightSpace()
{
return $this->borderRightSpace;
}

/**
* Set border right space.
*
* @param float|int $value
*
* @return self
*/
public function setBorderRightSpace($value = null)
{
$this->borderRightSpace = $value;

return $this;
}

/**
* Get border bottom size.
*
Expand Down Expand Up @@ -521,14 +653,38 @@ public function setBorderBottomStyle($value = null)
return $this;
}

/**
* Get border bottom space.
*
* @return float|int
*/
public function getBorderBottomSpace()
{
return $this->borderBottomSpace;
}

/**
* Set border bottom space.
*
* @param float|int $value
*
* @return self
*/
public function setBorderBottomSpace($value = null)
{
$this->borderBottomSpace = $value;

return $this;
}

/**
* Check if any of the border is not null.
*
* @return bool
*/
public function hasBorder()
{
$borders = $this->getBorderSize();
$borders = array_merge($this->getBorderSize(), $this->getBorderColor(), $this->getBorderStyle(), $this->getBorderSpace());

return $borders !== array_filter($borders, 'is_null');
}
Expand Down
Loading
Loading