PHPPowerPoint: установить высоту строки между строками
Я использую 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
Но с этим решением он добавляет пространство только до и после абзаца.
есть ли шпаргалка или список, содержащий узлы / элементы / имена xml, используемые в файлах xml, созданных для powerpoint?
1 ответ
Решение
Выполните следующие шаги для достижения этой цели
Внутри /* /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();
}