Установите phppresentation в рамках codeigniter

Я попытался установить библиотеку phppresentation в рамках codeigniter. Но в codeigniter не может использовать пространство имен. Так как интегрировать?

0

Решение

Вероятно, это не лучший пример, но я получил пример «Приступая к работе» на PHPPresentation Packagist page работать в КИ 3.1.3.

Я использую способ по умолчанию использовать composer, как описано в руководстве по CI.

Директории приложений и системы находятся на одном уровне выше корневого каталога.

Файл composer.json находится в каталоге приложения.

Вырезал из страницы упаковщика ниже в composer.json и запустил composer update который сохранил его в приложение / vendor / phpoffice.

{
"require": {
"phpoffice/phppresentation": "dev-master"}
}

В приложении / библиотеках созданы Ppt_stuff.php, Cut-n-Pasted Пример начала работы в файл. Пришлось добавить имя класса и функцию make_ppt. Также исправлены имена путей функций setPath и Save с realpath('.'),

<?php defined('BASEPATH') OR exit('No direct script access allowed');

use PhpOffice\PhpPresentation\PhpPresentation;
use PhpOffice\PhpPresentation\IOFactory;
use PhpOffice\PhpPresentation\Style\Color;
use PhpOffice\PhpPresentation\Style\Alignment;

class Ppt_stuff {

public function make_ppt() {

$objPHPPowerPoint = new PhpPresentation();

// Create slide
$currentSlide = $objPHPPowerPoint->getActiveSlide();

// Create a shape (drawing)
$shape = $currentSlide->createDrawingShape();
$shape->setName('PHPPresentation logo')
->setDescription('PHPPresentation logo')
->setPath(realpath('.') . '/../application/vendor/phpoffice/phppresentation/samples/resources/phppowerpoint_logo.gif')
->setHeight(36)
->setOffsetX(10)
->setOffsetY(10);
$shape->getShadow()->setVisible(true)
->setDirection(45)
->setDistance(10);

// Create a shape (text)
$shape = $currentSlide->createRichTextShape()
->setHeight(300)
->setWidth(600)
->setOffsetX(170)
->setOffsetY(180);
$shape->getActiveParagraph()->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);
$textRun = $shape->createTextRun('Thank you for using PHPPresentation!');
$textRun->getFont()->setBold(true)
->setSize(60)
->setColor(new Color('FFE06B20'));

$oWriterPPTX = IOFactory::createWriter($objPHPPowerPoint, 'PowerPoint2007');
$oWriterPPTX->save(realpath('.') . "/downloads/sample.pptx");
$oWriterODP = IOFactory::createWriter($objPHPPowerPoint, 'ODPresentation');
$oWriterODP->save(realpath('.') . "/downloads/sample.odp");

}

}

В корневом каталоге создан каталог / downloads.

Добавил это в контроллер Home.

public function use_presentation() {

// load library
$this->load->library('Ppt_stuff');
// call make_ppt
$this->ppt_stuff->make_ppt();
return;

}

Пошел в HTTP: // локальный / дом / use_presentation и он создал sample.pptx и sample.odp в / downloads.

Когда я их открыл, Powerpoint 2010 жаловался и предлагал их починить.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]