Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/12/2007, 09:19
f4b14n
 
Fecha de Ingreso: agosto-2006
Mensajes: 24
Antigüedad: 17 años, 8 meses
Puntos: 9
Re: crear powerpoint en php

Lo primero que debes saber es que no es algo sencillo, de hecho yo he tenido bastantes dolores de cabeza por culpa de esto.

Para poder crear archivos ppt desde php como bien dijeron debes hacerlo en un servidor windows y utilizar los objetos COM, para esto debes permitir el acceso a estos para el usuario internet de IIS que tiene un nombre como IUSR_nombreequipo.

Para esto debes ir a INICIO>EJECUTAR> y digitar "dcomcnfg" se abrirá una ventana de "Servicio de componentes" una vez ahí en el árbol de navegación
Raíz de consola>Servicios de componentes>Equipos>Mi PC>Configuración DCOM
y busca "Presentación de Microsoft PowerPoint" le das click derecho y propiedades vas la pestaña seguridad y marcas todas las opciones con "Personalizar" y das click sobre los botones para agregar el usuario internet una vez agregado le asignas los permisos de ejecución local y remota en todos, listo! ahora puedes empezar a tratar de crear un ppt.

Ya ahora nos vamos a un editor de php o al block de notas o como quieras y un ejemplo sencillo sería algo como esto

<?php
if ($powerpnt = new COM("powerpoint.application")) {
$pres=$powerpnt->Presentations->Add();
$pres->Slides->Add(1,12); //el 12 es el estilo de la diapositiva
$pres->Slides[1]->Shapes->AddPicture("C:\\Inetpub\\wwwroot\\imagen.jpg",0,1 ,0,0,720,541);
$pres->Slides[1]->Shapes->AddTextbox(1,180,200,450,40);
$pres->Slides[1]->Shapes("3")->TextFrame->TextRange->Text = "ACA UN TEXTO";
$pres->Slides[1]->Shapes("3")->TextFrame->TextRange->Font->Bold = True;
$pres->Slides[1]->Shapes("3")->TextFrame->TextRange->Font->Size = 26;
$powerpnt->Presentations[1]->SaveAs("C:\\Inetpub\\wwwroot\\archivo.ppt");
$powerpnt->quit();
}
else {
echo "No se pudo crear el objeto PowerPoint";
}
?>

Ya con eso al menos algo tendras, para más funciones te recomiendo grabar una macro mientras haces una ppt luego te vas al editor de visual basic y ves que codigo generó los cambios que hiciste y tratas de "traducirlo" para que desde php haga eso.

Ya Saludos!