-2

嗨,我使用 PHPpowerpoint 库通过 PHP 生成 Power Point 演示文稿,我生成成功但我的问题是生成的 PPT 的页面设置是宽度:10 英寸和高度 7.5 英寸。我需要更改页面的宽度和高度。我在哪里更改库中的宽度和高度。提前致谢

<?php
 function createTemplatedSlide(PHPPowerPoint $objPHPPowerPoint){
 // Create slide
 $slide = $objPHPPowerPoint->createSlide();
 // Add background image
 $slide->createDrawingShape()
 ->setName('Background')
 ->setDescription('Background')
 ->setPath('./resources/bg.gif')
 ->setWidth(350)
 ->setHeight(700)
 ->setOffsetX(0)
 ->setOffsetY(0);
 return $slide;
 }


 set_include_path(get_include_path() . PATH_SEPARATOR . 'Classes/');
 include 'PHPPowerPoint.php';
 if(php_sapi_name() == 'cli' && empty($_SERVER['REMOTE_ADDR'])) {
 define('EOL', PHP_EOL);
 }
 else {
 define('EOL', '<br />');
 }
 $basename="File";
 $objPHPPowerPoint = new PHPPowerPoint();
 $objPHPPowerPoint->getProperties()->setCreator('Monthly Performanace Summary')
                              ->setLastModifiedBy($gLogUserName)
                              ->setTitle('Monthly Performanace Summary')
                              ->setSubject('Monthly Performanace Summary')
                              ->setDescription('Monthly Performanace Summary.')
                              ->setKeywords('Monthly Performanace Summary')
                              ->setCategory('Monthly Performanace Summary');

 $objPHPPowerPoint->removeSlideByIndex(0);
//VF 1 st Slide
$currentSlide = createTemplatedSlide($objPHPPowerPoint); 
 //Slide Content
 $shape = $currentSlide->createDrawingShape();
 $shape->setName('Part page');
 $shape->setDescription('Page');
 $shape->setPath('Sample.jpg'); 
 $shape->setHeight(1300);
 $shape  ->setWidth(1300);
 $shape->getShadow()->setVisible(true);
 $shape->getShadow()->setDirection(15);
 $shape->getShadow()->setDistance(10);
 $formats = array('PowerPoint2007' => 'pptx');
 foreach ($formats as $format => $extension) {
 $objWriter = PHPPowerPoint_IOFactory::createWriter($objPHPPowerPoint, $format);
 $FileName="PPT/{$basename}.{$extension}";
 $objWriter->save("PPT/{$basename}.{$extension}");
 }
 ?>

我添加了我的代码并从https://php-download.com/package/phpoffice/phppowerpoint下载了库

4

1 回答 1

0

最后我在这个文件“Classes\PHPPowerPoint\Writer\PowerPoint2007\Presentation.php”中找到了解决方案

$objWriter->startElement('p:sldSz');
//$objWriter->writeAttribute('cx', '9144000');
//$objWriter->writeAttribute('cy', '6858000');
$objWriter->writeAttribute('cx', $pPHPPowerPoint->getLayout()->getCX());
$objWriter->writeAttribute('cy', $pPHPPowerPoint->getLayout()->getCY());

将上面的行更改为

$objWriter->startElement('p:sldSz');
$objWriter->writeAttribute('cx', '12190000'); 
$objWriter->writeAttribute('cy', '6858000');
// $objWriter->writeAttribute('cx', $pPHPPowerPoint->getLayout()->getCX());
//$objWriter->writeAttribute('cy', $pPHPPowerPoint->getLayout()->getCY());
于 2020-02-11T12:01:27.733 回答