Archana
Archana

Reputation: 389

Remove space before and after from list items

I am creating word file using PHPWord. I want to create list with paragraph style. To do so I am following PHPWord code standards.

My code to create featured list:-

$listItemRun = $section->addListItemRun();
foreach($li['li'] as $element){
    if(isset($element['strong']) && !empty($element['strong'])){
        $listItemRun->addText($this->trimString($element['strong']), array('format' => 'decimal','lineHeight' => 1,'bold'=>true),array('spaceAfter'=>0,'lineHeight'=>1));
    }
    if(isset($element['b']) && !empty($element['b'])){
        $listItemRun->addText($this->trimString($element['b']).' ', array('format' => 'decimal','bold'=>true),array('spaceAfter'=>0,'lineHeight'=>1));
    }
    if(isset($element['#text'][0]) && !empty($element['#text'][0])){
        $listItemRun->addText($this->trimString($element['#text'][0]).' ',array('format' => 'decimal'),array('spaceAfter'=>0,'lineHeight'=>1));
    }
    if(isset($element['u']) && !empty($element['u'])){
        $listItemRun->addText($this->trimString($element['u']).' ', array('underline' => \PhpOffice\PhpWord\Style\Font::UNDERLINE_SINGLE),array('spaceAfter'=>0,'lineHeight'=>1));
    }
    if(isset($element['em']) && !empty($element['em'])){
        $listItemRun->addText($this->trimString($element['em']).' ', array('italic' => true),array('spaceAfter'=>0,'lineHeight'=>1));
    }
}  

I followed PHPWord code following:

$listItemRun = $section->addListItemRun();
$listItemRun->addText('List item 1');
$listItemRun->addText(' in bold', array('bold'=>true));
$listItemRun = $section->addListItemRun();
$listItemRun->addText('List item 2');
$listItemRun->addText(' in italic', array('italic'=>true));
$listItemRun = $section->addListItemRun();
$listItemRun->addText('List item 3');
$listItemRun->addText(' underlined', array('underline'=>'dash'));

Every thing is working except line heght and spacing. In listing line height is coming 1.15 and I want to give line height 1 and also want to remove spacing in list item.

Upvotes: 0

Views: 3995

Answers (1)

Archana
Archana

Reputation: 389

We can give spacing and line height by following code in list item:-

$phpWord->addParagraphStyle('P-listStyle', array('spaceAfter'=>0,'lineHeight'=>1.0));
$listItemRun = $section->addListItemRun(0,null, 'P-listStyle');
$listItemRun->addText('List item 1');
$listItemRun->addText(' in bold', array('bold'=>true));
$listItemRun = $section->addListItemRun();
$listItemRun->addText('List item 2');
$listItemRun->addText(' in italic', array('italic'=>true));
$listItemRun = $section->addListItemRun();
$listItemRun->addText('List item 3');
$listItemRun->addText(' underlined', array('underline'=>'dash'));

Upvotes: 3

Related Questions