Skip to main content

Crear un .doc desde página php en 5 minutos gratis



Primero descargar esta libreria gratuita: http://phpword.codeplex.com/
Mi ejemplo al final de la página ya la contiene.

Descomprimirla donde quieran, lo importante es saber donde quedó el archivo PHPWord.php para después incluirlo en nuestro código con: require_once 'PHPWord.php';

Iniciando el código es:
    // Para declarar un nuevo documento
    $PHPWord = new PHPWord();
    // Para crear seccion para escribir en ella
    $section = $PHPWord->createSection();


Luego podemos crear formatos para los textos que introduciremos:

// Formatos para los textos 
    $PHPWord->addFontStyle('rStyle', array('bold'=>true, 'italic'=>false, 'size'=>16));
    $PHPWord->addParagraphStyle('pStyle', array('align'=>'both', 'spaceAfter'=>100));
    $PHPWord->addFontStyle('estiloTexto', array('bold'=>false, 'italic'=>false, 'size'=>12));
    $PHPWord->addParagraphStyle('pJustify', array('align' => 'both', 'spaceBefore' => 0, 'spaceAfter' => 0, 'spacing' => 0));


Ahora podemos añadir el texto, que utiliza los formatos que creamos arriba:
$section->addText('REGISTRO DE CABALLERO', 'rStyle', 'pStyle');
$section->addTextBreak(2);  //Con esto se dejan líneas en blanco
$section->addText('   El caballero  '.$nombres.' '.$apellidos.' se ha registrado en el torneo.','estiloTexto', 'pJustify');
$section->addTextBreak(2);


Nuestro formulario:
<!DOCTYPE HTML>
<html><head></head>

<body>

     <form  name="formulario" action="./caballero/registro/index.php" method="post">
        <p><label>Nombre(s): </label><input type="text" name="fnombres"> </p>
        <p><label>Apellidos: </label><input type="text" name="fapellidos"></p>       
        <input value="Enviar" type="submit">
    </form>
          
</body>
</html>


Finalmente para guardar el documento:
// Save File
$objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007');
$objWriter->save('Caballeros/Ser '.$nombres.' '.$apellidos.'.docx');



Descargar ejemplo en:
http://www46.zippyshare.com/v/80942301/file.html

O en:
 http://www48.zippyshare.com/v/24901206/file.html
En lo que pueda hare un upload del ejemplo, zippy ha removido mis archivos. Disculpen.

Ojo: para correr este ejemplo necesitan tener levantado apache y tener php instalado. Además de haber habilitado los dos módulos:  PHP Extension ZipArchive y PHP Extension xmllib.

Comments

Post a Comment

Popular posts from this blog

Configurar pantalla de inicio de sesión Ubuntu

Configurar pantalla de inicio de sesión Si quieres personalizar el inicio de sesión (pantalla de logeo), puedes instalar un programa llamado Ubuntu Tweak muy intuitivo y que te permite modificar el fondo de la pantalla de logeo entre otras cosas, primero vamos a instalar Ubuntu Tweak: sudo add-apt-repository ppa:tualatrix/ppa  sudo apt-get update  sudo apt-get install ubuntu-tweak  Una vez instalado, al entrar en System Settings deberia aparecerte el icono de Ubuntu Tweak: Luego de darle click a Ubuntu Tweak, dale click a la pestaña de "Tweaks" y a Login Settings: Para modificar la pantalla de Login se requiere permisos de superuser, dale a la opcion de "Unlock" para que puedas realizar cambios: Le das click a la imagen para cambiar el background y al Gtk theme, por ejemplo; mi resultado fue: Espero haber sido de ayuda. Fue hecho en: Ubuntu 12.04

Como usar PostgreSQL 9.3 y Grails 2.3.5 (Integrar)

Hola mundo, a continuacion los pasos a seguir:   1. Descargar JDBC de PostgreSQL(http://jdbc.postgresql.org/download.html#current) 2. Copiar ese archivo en la carpeta lib de nuestro Proyecto Grails 3. Despues de ejecutar run-app, abrir el "localhost:8080/Proyecto/dbconsole" y hacer prueba de conexión (Test Connection) con:   Driver Class: org.postgresql.Driver JDBC URL: jdbc:postgresql:strategy   //strategy es mi base de datos User Name:  postgres Password: postgres 4. En el DataSource.groovy añadir las líneas en Negritas:    dataSource {     pooled = true     driverClassName = "org.postgresql.Driver"     dialect = "org.hibernate.dialect.PostgreSQLDialect"     username = "postgres"     password = "" } // environment specific settings environments {     development {         dataSource {             dbCreate = "create-drop" // one of 'create', 'create-drop', 'update', 'vali