Saltar al contenido

Tutorial PHPWord Crear Docx desde HTML

PHPWord es una biblioteca de PHP que le permite leer y escribir documentos de Microsoft Word (y algunos formatos de archivo adicionales como RTF, openXML y HTML) PHPWord es muy útil para generar docx o leer uno existente en su aplicación web. En este artículo, cubriré sobre la configuración y el tutorial de hello world. Luego, hablaremos sobre otras aplicaciones, como la creación de docx desde HTML.

Antes de comenzar, deberá instalar PHPWord a través de Composer (Composer es una herramienta de administración de dependencias para PHP. Como npm para Node.js) Agregue el código a continuación a su archivo composer.json.

{
"require": {
"phpoffice/phpword": "v0.13.*"
}
}

A continuación, abra el símbolo del sistema y escriba a continuación para activar la instalación.

composer install

Composer llevará PHPWord y todas sus dependencias a la ubicación de su proyecto. Ahora estamos listos para seguir adelante con el código. Por ejemplo, aquí están los pasos si desea crear un nuevo documento docx con el texto “Hola Mundo”.

Te puede interesar:   Humor para Programadores

Primero, cargue PHPWord usando autoload.php ubicado en vendor/autoload.php.

require_once 'vendor/autoload.php';

Luego crea un nuevo objeto PHPWord. Esto representará su archivo de documento.

$phpWord = new \PhpOffice\PhpWord\PhpWord();

La estructura del documento de Word se separa en secciones. El texto o el elemento no se pueden agregar directamente al documento sin la sección. Así que vamos a añadir uno.

$section = $phpWord->addSection();

Luego cree un objeto de fuente para personalizar un estilo de fuente, luego asigne el objeto de fuente a la sección.

$fontStyle = new \PhpOffice\PhpWord\Style\Font();
$fontStyle->setBold(true);
$fontStyle->setName('Arial');
$fontStyle->setSize(16);
$myTextElement = $section->addText('Hello World');
$myTextElement->setFontStyle($fontStyle);

Y, por último, envíe el documento al navegador web, que aparecerá un cuadro de diálogo de descarga / Guardar como.

Nota importante : el archivo php completo no debe tener ningún eco, impresión ni ningún tipo de mensaje de visualización o dañará el archivo docx generado.

Te puede interesar:   Detectar Ubicación de Usuario con Javascript
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('helloWorld.docx');

Ahora eso es lo básico. Otro ejemplo interesante es crear un archivo docx desde HTML.

Supongamos que ya tiene un fragmento de HTML que desea colocar en el archivo docx, deberá convertirlo en una cadena HTML con javascript y luego pasarlo a PHPWord a través del formulario POST. A continuación se muestra un código de ejemplo usando jQuery.

<form method="post" action="gendocx.php">
<input type="hidden" name="htmlstring" id="htmlstring" value="">
<input type="submit" id="MyButton" value="Generate Docx">
</form>
...
<script>
$('#myButton').click(function(){
//get your Div HTML tring
var s = $('#myHTMLDiv').html();
$('#htmlstring').val(s);
});
</script>

Luego, en gendocx.php tomaremos una cadena HTML entrante y la pondremos en un documento docx como este.

require_once 'vendor/autoload.php';
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$section = $phpWord->addSection();
\PhpOffice\PhpWord\Shared\Html::addHtml($section, $_POST['htmlstring']);
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment;filename="test.docx"');
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('php://output');

Tenemos más tutoriales para ti:

Te puede interesar:   Sistema para Leer Archivo Excel con PHP
Sistema de inventario en php y MySQL open source
Obtener ubicación actual JavaScript
Vanilla js qué es
JavaScript guardar datos en txt
Tarjeta de red en modo promiscuo
0/5 (0 Reviews)
Comparte