en: Programacion
PHP DocWriter es una serie de clases en php para crear documentos de OpenOffice.org en XML, luego con la propia suite lo conviertes al formato que desees/necesites.
Puede que esto ya lo hayas visto puesto que fué uno de los proyectos aprobados para el Google Summer of Code, su objetivo era leer, modificar y crear documentos OpenDocument desde PHP.
Php DocWriter es una serie de clases PHP que permiten crear documentos OpenOffice en formato XML, puedes descargar los archivos de esta librería aqui.
Sigue los pasos de instalación en el enlace mencionado (En Inglés)
Otra de sus características es la de convertir el documento XML generado con la clase a cualquier otro formato de manera automática.
1. Cabeceras y pies de página
Puedes definir varias clases de páginas para tus documentos (primera, estandar,especial etc..) y asignar diferentes pies y cabeceras de página para cada una de ella.
2. Cajas de texto
3. Imágenes
4. Tablas
5. Estilos
* Estilos de páginas
* Estilos de párrafos
* Estilos para los carácteres
6. Información Meta del documento
Incluye a los documentos información como el autor o título de la página.
7. Conversión automática a otros formatos
La libreria cómunica con la aplicacion a traves de la nterfaz de esta para convertir los documentos XML al formato deseado.
Actualmente son soportados MS Word, PDF, RTF, StarWriter, LaTeX, XHTML, HTML, etc.
8. Miscelánea
* Enlaces
* Favoritos
* Zonas predefinidas
Estos ejemplos son básicos y utilizan la última version estable de la librería (Version 0.3).
require_once('../lib/include.php');
import('phpdocwriter.pdw_document');$sxw = new pdw_document;
$sxw->SetLanguage(‘es’, ‘ES’);
$sxw->SetStdFont(‘Times New Roman’, 10);
$sxw->Write(‘!Hola Mundo!’);$sxw->Output();
?>
require_once('../lib/include.php');
import('phpdocwriter.pdw_document');$sxw = new pdw_document;
$sxw->SetLanguage(‘es’, ‘ES’);
$sxw->SetStdFont(‘Times New Roman’, 10);
$sxw->SetFont(array(‘family’=>’Verdana’, ‘style’=>’BI’, ‘size’=>27));
$sxw->Write(‘Primer Nombre’);
$sxw->SetFont(array(‘family’=>’Arial’, ‘style’=>’U', ‘size’=>22));
$sxw->Write(‘Segundo Nombre’);
$sxw->Ln();
$sxw->SetFont (array(‘family’=>’Comic Sans MS’, ‘size’=>32));
$sxw->Write (‘Tercer Nombre’);
$sxw->Ln();
$sxw->SetFont (array(‘family’=>’Georgia’, ‘style’=>’B', ‘size’=>22));
$sxw->Write (‘Cuarto Nombre ‘);
$sxw->Output();
require_once('../lib/include.php');
import('phpdocwriter.pdw_document');
import("phpdocwriter.pdw_textbox");$sxw = new pdw_document;
$sxw->SetLanguage(‘es’, ‘ES’);
$sxw->SetStdFont (‘Times New Roman’, 10);
$sxw->Write(‘Vamos a dibujar algunas cajas…’);
$sxw->Ln(2);$tb1 = new pdw_textbox ($sxw, array (‘w’=>15, ‘h’=>2, ‘x’=>1, ‘y’=>0.5));
$tb1->Write(‘Texto 1′);
$tb1->Insert();$tb2 = new pdw_textbox ($sxw, array (‘w’=>5.5, ‘h’=>5, ‘x’=>1, ‘y’=>3));
$tb2->Write(‘Una imagen dentro de una caja de texto…’);
$tb2->Ln();
$tb2->Image(array(‘path’=>’logo.png’, ‘w’=>4.12, ‘h’=>1.92));
$tb2->Insert();$tb3 = new pdw_textbox ($sxw,array (‘w’=>9, ‘h’=>4, ‘x’=>7, ‘y’=>3));
$tb3->Write(‘Insertar enlaces aqui: ‘);
$tb3->AddLink(“TuFuncion”, “http://www.tufuncion.com”);
$tb3->Insert();$sxw->Output();
?>
require_once('../lib/include.php');
import('phpdocwriter.pdw_document');
import('phpdocwriter.pdw_header');
import('phpdocwriter.pdw_footer');$sxw = new pdw_document;
$sxw->SetLanguage(‘es’,'ES’);
$sxw->SetStdFont (“Times New Roman”,10);
$sxw->AddPageDef(array(‘name’=>’Standard’,'margins’=>’2,2,2,2′));$head = new pdw_header($sxw,’Standard’);
$head->Ln();
$head->Image(array(‘path’=>’logo.png’,'w’=>4.12,’h'=>1.92));
$head->Insert();$foot = new pdw_footer($sxw,’Standard’);
$foot->Ln();
$foot->AddLink (“TuFuncion”,” http://www.tufuncion.com”);
$foot->Insert();$sxw->SetTitle (‘Documento TuFuncion Prueba’);
$sxw->SetAuthor (‘Manu’);
$sxw->SetSubject (‘Documento creado por TuFuncion’);
$sxw->SetKeyWords (‘php,OpenOffice.org,phpdocwriter’);
$sxw->Write (‘Esto es un documento básico!’);$sxw->Output();
?>
require_once('../lib/include.php');
import('phpdocwriter.pdw_document');$sxw = new pdw_document;
$sxw->SetLanguage(‘es’,'ES’);
$sxw->SetStdFont (“Times New Roman”,10);
$sxw->Write (‘Ejemplo de tabla:’);
$sxw->Ln(2);$header = array(‘Dni’,'Nombre’,'Apellido’,'Telefono’,'Email’);
$data[] = array(’23453451F’,'Juan’,'Bermudez’,’912345678′,’juan.bermudez@gmail.com’);
$data[] = array(’36213764H’,'Daniel’,'Gaeta’,’915436753′,’daniel.gaeta@gmail.com’);$sxw->Table($header,$data);
$sxw->Output();
?>
Este pequeño manual debe haberte servido para iniciarte en esta clase sino ha sido asi prueba a leerte la documentación en inglés, usando la potencia de PHP DocWriter puedes crear documentos OpenOffice.org sin necesidad de tener la aplicación instalada en tu servidor.