PHPPowerPoint:设置行之间的行高

时间:2013-12-19 12:36:41

标签: phppowerpoint

我正在使用phppowerpoint生成ppt文件。我想在PPT中更改行之间的默认行高。

ppt slide screen grab

这里是我用来生成ppt的一些代码。

$shape->createParagraph()->getAlignment()->setHorizontal(PHPPowerPoint_Style_Alignment::HORIZONTAL_LEFT)->setVertical(PHPPowerPoint_Style_Alignment::VERTICAL_TOP);
$textRun = $shape->createTextRun($ppt_build[$i][$k]['text'][$j]['textrun']);
$textRun->getFont()->setBold($ppt_build[$i][$k]['text'][$j]['bold']);
$textRun->getFont()->setSize($ppt_build[$i][$k]['text'][$j]['size']); //setName
$textRun->getFont()->setName($ppt_build[$i][$k]['text'][$j]['name']); //setName
$textRun->getFont()->setColor(new PHPPowerPoint_Style_Color($ppt_build[$i][$k]['text'][$j]['color']));

然后创建换行符

$shape->createBreak();

我尝试使用2个换行符,但它超出了我的需要。

我也试过这里提到的解决方案

http://phppowerpoint.codeplex.com/discussions/273396

但是使用该解决方案,它只会在段落之前和之后添加空间。

是否有任何备忘单或列表包含为powerpoint生成的xml文件中使用的xml节点/元素/名称

1 个答案:

答案 0 :(得分:2)

按照以下步骤实现此目标

内部 / * /powerpoint/PHPPowerPoint/Shape/RichText/Paragraph.php * /

private $_spacing;

/**
 * Get spacing
 *
 * @return PHPPowerPoint_Style_Spacing
 */
public function getSpacing() {
    return $this->_spacing;
}

/**
 * Set spacing
 *
 * @param    PHPPowerPoint_Style_Spacing        $spacing
 * @throws     Exception
 * @return PHPPowerPoint_Shape_RichText_Paragraph
 */
public function setSpacing($spacing = '100000') {
    $this->_spacing = $spacing;
    return $this;
}

然后在/PHPPowerPoint/Writer/PowerPoint2007/Slide.php里面

private function _writeParagraphs(PHPPowerPoint_Shared_XMLWriter $objWriter, $paragraphs) {

$objWriter->writeAttribute('lvl', $paragraph->getAlignment()->getLevel());

添加

        if ($paragraph->getSpacing()) {
            $objWriter->startElement('a:lnSpc');
            $objWriter->startElement('a:spcPct');
            $objWriter->writeAttribute('val', $paragraph->getSpacing());
            $objWriter->endElement();
            $objWriter->endElement();
        }