OscarDocTools is a solution for converting Word, Excel, and image (JPG/PNG) files to PDF format using PHP. It is designed to be flexible and extensible, providing a robust backend for conversion tasks.
- Convert images (JPG, PNG) to PDF while preserving dimensions and quality.
- Convert Excel documents to PDF using PhpSpreadsheet.
- Convert Word documents to PDF via an API service.
- Exception handling and support for different file types.
- PHP 5.6 or higher.
- Composer installed.
- PHP extensions:
curl
,gd
, andmbstring
. - Web server (e.g., Apache or Nginx).
-
Clone this repository:
git clone https://github.com/miusarname2/OscarDocTools cd OscarDocTools
-
Install dependencies with Composer:
composer install
-
Ensure that the
output
folder is writable:chmod -R 777 ./output
-
Configure the Word to PDF service:
- The service should be available at
http://192.168.0.51:3000/convert
. If you are using a different URL, update$serviceUrl
in theUltimateClassConverter
class.
- The service should be available at
-
Configure your web server:
Make sure your web server is pointed to the main file (e.g.,index.php
).
OscarDocTools/
├── src/
│ ├── index.html # The entrance from the ‘front’ side
│ ├── convert.php # Entry point for requests
│ ├── output/ # Folder for generated PDF files
│ ├── fpdf181/ # FPDF library
│ ├── UltimateClassConverter.php # The main conversion class
│ └── index.php # The first experiment
├── vendor/ # Dependencies installed by Composer
└── composer.json # Composer configuration file
-
Run a local PHP server:
php -S localhost:8000
-
Upload a file from a client (Postman or web form).
Ensure the request points tohttp://localhost:8000/index.html
. -
Retrieve the generated PDF file from the URL provided in the response.
Contributions are welcome. Please open an issue or pull request to suggest improvements or fix bugs.
This project is licensed under the MIT License.
OscarDocTools es una solución para convertir archivos Word, Excel e imágenes (JPG/PNG) a formato PDF utilizando PHP. Está diseñada para ser flexible y extensible, proporcionando un backend robusto para tareas de conversión.
- Convertir imágenes (JPG, PNG) a PDF manteniendo las dimensiones y calidad.
- Convertir documentos Excel a PDF utilizando PhpSpreadsheet.
- Convertir documentos Word a PDF mediante un servicio API.
- Manejo de excepciones y soporte para diferentes tipos de archivos.
- PHP 5.6 o superior.
- Composer instalado.
- Extensiones de PHP:
curl
,gd
, ymbstring
. - Servidor web (por ejemplo, Apache o Nginx).
-
Clona este repositorio:
git clone https://github.com/miusarname2/OscarDocTools cd OscarDocTools
-
Instala las dependencias con Composer:
composer install
-
Asegúrate de que la carpeta
output
tenga permisos de escritura:chmod -R 777 ./output
-
Configura el servicio de conversión Word a PDF:
- El servicio debe estar disponible en
http://192.168.0.51:3000/convert
. Si usas otra URL, actualiza$serviceUrl
en la claseUltimateClassConverter
.
- El servicio debe estar disponible en
-
Configura tu servidor web:
Asegúrate de apuntar el directorio raíz a la ubicación del archivo principal (por ejemplo,index.php
).
El proyecto funciona como un backend para subir archivos y realizar conversiones. A continuación, se describe el flujo básico:
-
Realiza una solicitud POST con los siguientes campos:
fileType
: Tipo de archivo a convertir (word
,excel
,jpg
,png
).file
: Archivo a convertir (subido a través de un formulario HTML o herramienta como Postman).
-
Ejemplo de solicitud usando cURL:
curl -X POST -F "fileType=word" -F "file=@path/to/your/file.docx" http://localhost/convert.php
-
Respuesta esperada (éxito):
{ "success": true, "fileUrl": "output/nombreArchivo.pdf" }
-
Respuesta esperada (error):
{ "success": false, "message": "Descripción del error." }
OscarDocTools/
├── src/
│ ├── index.html # La entrada desde el 'Front'
│ ├── convert.php # Punto de entrada de solicitudes
│ ├── output/ # Carpeta para los archivos PDF generados
│ ├── fpdf181/ # FPDF library
│ ├── UltimateClassConverter.php # La clase principal de conversión
│ └── index.php # El primer experimento
├── vendor/ # Dependencias instaladas de Composer
└── composer.json # Archivo de configuración de Composer
-
Ejecuta un servidor PHP local:
php -S localhost:8000
-
Sube un archivo desde un cliente (Postman o formulario web).
Asegúrate de que la solicitud apunte ahttp://localhost:8000/index.php
. -
Obtén el archivo PDF generado desde la URL proporcionada en la respuesta.
Las contribuciones son bienvenidas. Por favor, abre un issue o un pull request para sugerir mejoras o corregir errores.
Este proyecto está bajo la licencia MIT.