首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHPPowerPoint :设置线条之间的直线高度

PHPPowerPoint :设置线条之间的直线高度
EN

Stack Overflow用户
提问于 2013-12-19 12:36:40
回答 1查看 927关注 0票数 0

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

下面是我用来生成ppt的一些代码。

代码语言:javascript
复制
$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']));

然后创建一个中断行

代码语言:javascript
复制
$shape->createBreak();

我试着给两行休息,但这比我需要的要多。

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

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

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

中是否有包含xml节点/元素/名称的备忘单或列表?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-24 05:18:26

按照下面的步骤来实现这一点

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

代码语言:javascript
复制
private $_spacing;

也是

代码语言:javascript
复制
/**
 * 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内部

代码语言:javascript
复制
private function _writeParagraphs(PHPPowerPoint_Shared_XMLWriter $objWriter, $paragraphs) {

之后

代码语言:javascript
复制
$objWriter->writeAttribute('lvl', $paragraph->getAlignment()->getLevel());

添加

代码语言:javascript
复制
        if ($paragraph->getSpacing()) {
            $objWriter->startElement('a:lnSpc');
            $objWriter->startElement('a:spcPct');
            $objWriter->writeAttribute('val', $paragraph->getSpacing());
            $objWriter->endElement();
            $objWriter->endElement();
        }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20681965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档