Skip to content

Commit 35efca0

Browse files
committed
RTF Writer Border Styles for Paragraphs
1 parent 7422bce commit 35efca0

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

src/PhpWord/Writer/RTF/Element/AbstractElement.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ protected function writeOpening()
150150
}
151151

152152
$styleWriter = new ParagraphStyleWriter($this->paragraphStyle);
153+
$styleWriter->setParentWriter($this->parentWriter);
153154
$styleWriter->setNestedLevel($this->element->getNestedLevel());
154155

155156
return $styleWriter->write();

tests/PhpWordTests/Writer/RTF/Style/BorderTest.php

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
namespace PhpOffice\PhpWordTests\Writer\RTF\Style;
2020

21+
use PhpOffice\PhpWord\PhpWord;
2122
use PhpOffice\PhpWord\SimpleType\Border as BorderType;
2223
use PhpOffice\PhpWord\Style\Border as BorderStyle;
2324
use PhpOffice\PhpWord\Writer\RTF;
@@ -292,4 +293,33 @@ public function testBorderSpace(): void
292293
$expect = '';
293294
self::assertEquals($expect, $this->removeCr($writer));
294295
}
296+
297+
public function testBorderColor(): void
298+
{
299+
$phpWord = new PhpWord();
300+
301+
$paragraphStyleName = 'P-Style';
302+
$pstyle = $phpWord->addParagraphStyle($paragraphStyleName, [
303+
'spaceAfter' => 95,
304+
'borderTopSize' => 12,
305+
'borderTopColor' => 'FF0000',
306+
'borderBottomSize' => 12,
307+
'borderBottomColor' => '00FF00',
308+
'borderLeftSize' => 12,
309+
'borderLeftColor' => '0000FF',
310+
'borderRightSize' => 12,
311+
'borderRightColor' => 'FFFF00',
312+
]);
313+
314+
$section = $phpWord->addSection();
315+
$section->addText('Hello', null, $pstyle);
316+
$section->addText('Goodbye');
317+
318+
$writer = new RTF($phpWord);
319+
$content = $writer->getContent();
320+
$expected = '{\colortbl;\red0\green0\blue0;\red255\green0\blue0;\red0\green0\blue255;\red255\green255\blue0;\red0\green255\blue0;}';
321+
self::assertStringContainsString($expected, $content);
322+
$expected = '\pard\sa95\widctlpar\brdrt\brdrs\brdrw12\brdrcf2\brsp20 \brdrl\brdrs\brdrw12\brdrcf3\brsp80 \brdrr\brdrs\brdrw12\brdrcf4\brsp80 \brdrb\brdrs\brdrw12\brdrcf5\brsp20 {Hello}\par';
323+
self::assertStringContainsString($expected, $content);
324+
}
295325
}

0 commit comments

Comments
 (0)