我正在使用phppowerpoint生成ppt文件。我想在PPT中更改行之间的默认行高。
这里是我用来生成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节点/元素/名称
答案 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();
}