Forum


Replies: 6   Views: 2121
Problemas con la generación de pdfs
Topic closed:
Please note this is an old forum thread. Information in this post may be out-to-date and/or erroneous.
Every phpdocx version includes new features and improvements. Previously unsupported features may have been added to newer releases, or past issues may have been corrected.
We encourage you to download the current phpdocx version and check the Documentation available.

Posted by admin  · 25-02-2019 - 09:06

Hola,

Como comentas que desde la línea de comandos funciona, el problema más común es la ausencia de permisos para el directorio .config del usuario del servidor web.

Te recomendamos leer la documentación disponible en https://www.phpdocx.com/documentation/conversion-plugin/common-problems-and-possible-errors (sección LibreOffice Linux common problems and issues). Tras averiguar el valor del directorio HOME del servidor mediante el método getenv, solo es necesario asignar permisos 777 para el subdirectorio .config. Mediante putenv puedes asignar un directorio HOME personalizado. En la página anterior puedes ver todo esto detallado. Si mandas a contact[at]phpdocx.com acceso por SSH al servidor, la ruta donde está instalado phpdocx y una URL para probarlo mediante una navegador web, accederemos al servidor para hacer las pruebas y configuraciones necesarias.

Con respecto a este código:

<?php
// instantiate the CreateDocx class in a new object
require_once '../vendor/phpdocx/Classes/Phpdocx/Create/CreateDocx.php';

$docx = new CreateDocx();

no es correcto, PHP no es capaz de encontrar la clase. Al estar utilizando la versión con PHP namespaces, si no indicas un línea use, necesitas especificar la ruta completa de namespaces. Aunque puedes ver ejemplos en el paquete y en la documentación (https://www.phpdocx.com/documentation/practical/creating-a-new-document), este es un ejemplo:

require_once 'Classes/Phpdocx/Create/CreateDocx.php';

$docx = new Phpdocx\Create\CreateDocx();

De todas maneras, al estar utilizando Laravel, te recomendamos integrar el autoloader en composer: https://www.phpdocx.com/documentation/cookbook/integrate-phpdocx-with-laravel

Saludos.