Realice lo siguiente:
1.- Me guie de este video que tiene dos modalidades de la librería, puede ser creando el documento a través del código php, o manipulando una planilla guardada en el servidor.
Como se me hace más fácil, modificar la plantilla utilice lo siguiente en una aplicación blank:
require_once dirname(FILE).’/PHPWord/Autoloader.php’;
\PhpOffice\PhpWord\Autoloader::register();
//use PhpOffice\PhpWord\TemplateProcessor;
$templateWord = new PhpOffice\PhpWord\TemplateProcessor(’/Applications/Scriptcase/v9-php73/wwwroot/scriptcase/file/doc/plantilla.docx’);
$nombre = “Sandra S.L.”;
$direccion = “Presidente 8787878”;
$municipio = “Mrd”;
$provincia = “Bdj”;
$cp = “02541”;
$telefono = “24536784”;
// — Asignamos valores a la plantilla
$templateWord->setValue(‘nombre_empresa’,$nombre);
$templateWord->setValue(‘direccion_empresa’,$direccion);
$templateWord->setValue(‘municipio_empresa’,$municipio);
$templateWord->setValue(‘provincia_empresa’,$provincia);
$templateWord->setValue(‘cp_empresa’,$cp);
$templateWord->setValue(‘telefono_empresa’,$telefono);
// — Guardamos el documento
$templateWord->saveAs(‘Documento02.docx’);
header(“Content-Disposition: attachment; filename=Documento02.docx; charset=iso-8859-1”);
echo file_get_contents(‘Documento02.docx’);
De esta manera modifico mi archivo Word con la información que yo quiera agregar como lo muestra el video 2.
Ahora si necesitas crear desde cero un documento Word, como lo muestra en el video 1, utilice el siguiente código como una funtion:
require_once dirname(FILE).’/PHPWord/Autoloader.php’;
\PhpOffice\PhpWord\Autoloader::register();
//require_once dirname(FILE).’/PHPWord-MT/bootstrap.php’;
//\PhpOffice\PhpWord\bootstrap::register();
$documento = new \PhpOffice\PhpWord\PhpWord();
$seccion = $documento->addSection();
// Texto sin formato
$seccion->addText(
htmlspecialchars(
)
);
$seccion->addText(
htmlspecialchars(
‘Segundo texto con formato’
),
array(‘name’ => ‘Arial’, ‘size’ => ‘12’, ‘bold’ => ‘true’)
);
// Texto con fuente personalizada
$fuente_propia = ‘mifuente’;
$documento->addFontStyle($fuente_propia,
array(‘name’ => ‘Arial’, ‘size’ => ‘14’, ‘bold’ => ‘true’, ‘color’ => ‘5882FA’)
);
$seccion->addText(
htmlspecialchars(
‘Tercer texto con formato’
),
$fuente_propia
);
// Tabla personalizada
$estilo_tabla = array(
‘borderColor’ => ‘F2F2F2’,
‘borderSize’ => ‘5’,
‘cellMargin’ => ‘20’,
‘bgColor’ => ‘088A68’,
);
$primera_fila = array(‘bgColor’ => ‘F2F2F2’);
$documento->addTableStyle(‘mitabla’,$estilo_tabla, $primera_fila);
$tabla = $seccion->addTable(‘mitabla’);
for ($row = 1; $row <= 8; $row++) {
$tabla->addRow();
for ($cell = 1; $cell <= 3; $cell++) {
if($row ==1)
$tabla->addCell(200)->addText(htmlspecialchars(‘primera’));
else
$tabla->addCell(200)->addText(htmlspecialchars(‘celda’));
}
}
// Imagen
$seccion->addImage(
‘/Applications/Scriptcase/v9-php73/wwwroot/scriptcase/file/img/LogoTierras.jpg’,
array(
‘width’ => 600,
‘height’ => 400,
‘wrappingStyle’ => ‘behind’
)
);
//Guardando documento
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($documento, ‘Word2007’);
$objWriter->save(“Documento01.docx”);
header(“Content-Disposition: attachment; filename = Documento01.docx”);
echo file_get_contents(“Documento01.docx”);
Utilice la librería guardándola en la aplicación como tal, ósea copie la carpeta de la Liberia en la aplicación ejemplo: scriptcase/v9-php73/wwwroot/scriptcase/app/proyecto/aplicac_black. Y de esta manera pude utilizar la librería phpword en scriptcase.
Adjunto link de la librería que tuve que modificar para poder trabajar en scriptcase, https://mega.nz/file/TsIyAZIY#6Nxd9kvq9d5RUHU3jvy1hD3f7r0sUy4vfgmQopzf0A8
Espero le funcione. saludos.