2013-12-19 69 views
0

我正在使用phppowerpoint來生成ppt文件。我想更改PPT中各行之間的默認行高。PHPPowerPoint:在行之間設置行高

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生成

回答

2

按照下面的步驟來實現這個

內部 /* /簡報/ PHPPowerPoint XML文件中使用的XML節點/元件/名稱的任何備忘單或列表/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(); 
     } 
+0

我想補充一點的是,這個工具評論行間距的百分比方法。所以該段落將作爲其所有文本運行中最大點值的百分比。此外,百分比除以1000 ...因此100000以上代碼片段中的默認值實際上是100%。 –