PHPWord
Biblioteca PHP de código abierto para documentos de Microsoft® Word
Lea, escriba, procese y convierta archivos MS Word DOC, DOCX, ODT, RTF y HTML a formato PDF a través de la API de PHP.
¿Qué es PHPWord?
PHPWord es una biblioteca de código abierto que consta de clases para ayudarlo a desarrollar aplicaciones PHP que pueden interactuar con varios formatos de archivos de documentos. PHPWord tiene licencia bajo LGPL Versión 3 y le permite trabajar con configuraciones de documentos, estilos, plantillas y varios otros elementos.
Primeros pasos con PHPWord
Para crear un documento de Word utilizando PHPWord, necesita los siguientes recursos instalados en su sistema operativo:
- PHP versión 5.3.3+
- Compositor
- Extensión XML Parser (Esta extensión está habilitada de forma predeterminada)
- Zend Escaper Component Install it using el compositor requiere zendframework/zend-escape
- Componente Zend Escaper Instálelo usando composer require zendframework/zend-escape
Crear documento de Word usando PHPWord
PHPWord permite a los desarrolladores crear nuevos documentos de Word (DOCX) desde cero. Le permite agregar nuevos párrafos, títulos, texto, imágenes, hipervínculos, gráficos y más. Crear un documento de Word es simple, necesita crear un nuevo documento usando el método PhpWord().
Crear palabra en PHP
- Crear documento de Word usando PhpWord
- Agregar sección en el documento
- Agregar texto en la sección
- Guardar documento
Crear un documento de Word - PHP
<?php
require_once 'vendor\phpoffice\phpword\bootstrap.php';
// Create the new document..
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Add an empty Section to the document
$section = $phpWord->addSection();
// Add Text element to the Section
$section->addText(
'File Format Developer Guide - '
. 'Learn about computer files that you come across in '
. 'your daily work at: www.fileformat.com'
);
// Save document
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('HelloWorld.docx');
Configure los ajustes del documento con facilidad
Puede realizar varias configuraciones de documentos. La ampliación predeterminada para el documento es del 100 %, pero puede cambiarla por algún otro valor. Para documentos a doble cara, p. revistas, puede configurar páginas opuestas reflejando los márgenes de la página. Puede modificar el estado de la opción de verificación automática de errores gramaticales u ortográficos.
La función para realizar un seguimiento de las revisiones de documentos también está disponible. PHPWord se puede configurar para trabajar con idiomas latinos, idiomas de Asia oriental, así como idiomas complejos (bidireccionales). Puede proteger un documento o parte de él con una contraseña.
Hay muchas otras características que PHPWord le permite configurar para documentos, algunas de ellas incluyen información del documento, unidades de medida, guiones y recálculo automático de los campos del documento cada vez que se abre el documento.
Establecer propiedades DOCX - PHP
<?php
require_once 'vendor\phpoffice\phpword\bootstrap.php';
// Create the new document..
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Set document properties
$properties = $phpWord->getDocInfo();
$properties->setCreator('Ali Ahmed');
$properties->setCompany('File Format');
$properties->setTitle('PHPWord');
$properties->setDescription('File Format Developer Guide');
$properties->setCategory('My category');
$properties->setLastModifiedBy('My name');
$properties->setCreated(mktime(0, 0, 0, 3, 12, 2019));
$properties->setModified(mktime(0, 0, 0, 3, 14, 2019));
$properties->setSubject('PHPWord');
// Save document
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('DocumentProperties.docx');
Contenedores para organizar elementos de documentos
PHPWord tiene objetos llamados contenedores, que contienen varios elementos (tablas, texto, etc.) de un documento. Hay 3 contenedores primarios; secciones, encabezados y pies de página. Además, hay 3 elementos que pueden actuar como contenedores; texturas, celdas de tabla y notas al pie.
Todos los elementos visibles de un documento deben colocarse dentro de una sección. Puede asignar números de página, números de línea, cambiar el diseño a varias columnas y crear encabezados/pies de página.
Agregar contenedor de encabezado
<?php
require_once 'vendor\phpoffice\phpword\bootstrap.php';
// Create the new document..
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Add an empty Section to the document
$section = $phpWord->addSection();
// Add Header
$header = $section->addHeader();
$header->addImage('word-processing-image.png');
// Save document
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('Container.docx');
Proteja el documento de Word a través de la API de PHPWord
Siempre es aconsejable proteger o asegurar sus documentos importantes que contienen información confidencial. La biblioteca PHPWord de código abierto permite a los desarrolladores de software proteger sus documentos de Word proporcionando una contraseña única dentro de sus aplicaciones PHP. La protección funcionará como resguardo, impidiendo accesos no autorizados o cambios en el documento de Word.