fragosoftware / file-converter
Biblioteca PHP para conversão de arquivos (compatível com Laravel 7+).
v1.1.0
2026-03-05 03:42 UTC
Requires
- php: ^7.3 || ^8.0
- barryvdh/laravel-dompdf: ^0.9.0
- bnbwebexpertise/pdf-to-image: ^1.2
- dompdf/dompdf: ^1.2
- illuminate/support: ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0
- league/commonmark: ^2.8
- phpoffice/phppresentation: ^1.2
- phpoffice/phpspreadsheet: 1.29
- phpoffice/phpword: ^1.4
- spatie/image: ^1.10
- spatie/pdf-to-image: ^2.3
- spatie/pdf-to-text: ^1.54
- spatie/temporary-directory: ^2.3
Requires (Dev)
- orchestra/testbench: ^5.20 || ^6.0 || ^7.0 || ^8.0 || ^9.0
- phpunit/phpunit: ^9.5
README
Biblioteca PHP para conversão e manipulação de arquivos entre diferentes formatos, compatível com Laravel 7+ e PHP 7.3+.
Desenvolvida com Arquitetura Hexagonal (Ports & Adapters) / Clean Architecture, permite extensibilidade por meio de drivers plugáveis e gerenciamento inteligente de dependências do sistema operacional.
🚀 Características
- ✅ Compatível com PHP 7.3+
- ✅ Compatível com Laravel 7+
- ✅ Arquitetura Hexagonal / Clean
- ✅ Suporte multiplataforma (Linux, macOS, Windows)
- ✅ Detecção automática de sistema operacional
- ✅ Suporte a múltiplos gerenciadores de pacotes:
- apt
- dnf
- yum
- apk
- brew
- choco
- ✅ Sistema de instalação automática de dependências
- ✅ Estrutura preparada para drivers extensíveis
- ✅ API fluente e desacoplada de framework
📦 Instalação
Via Composer:
composer require fragosoftware/file-converter
A biblioteca funciona como um Conversion Kernel, semelhante ao Kernel do Laravel.
Você apenas chama:
use FragosoSoftware\FileConverter\Core\Conversion\ConverterManager; $manager = new ConverterManager(); $manager->convert('arquivo.docx', 'arquivo.pdf');
📦 Conversão usando Binário
Você pode converter diretamente o conteúdo binário do arquivo sem precisar salvar em disco.
use FragosoSoftware\FileConverter\Core\Conversion\ConverterManager; $manager = new ConverterManager(); // Conteúdo binário do arquivo (ex: vindo do Storage, upload, etc) $binary = file_get_contents('arquivo.docx'); $pdfBinary = $manager->convertBinary($binary, 'docx', 'pdf'); // Agora você pode salvar file_put_contents('arquivo.pdf', $pdfBinary);
🔹 Exemplo: RTF → PDF (binário)
$binary = file_get_contents('arquivo.rtf'); $pdfBinary = $manager->convertBinary($binary, 'rtf', 'pdf'); file_put_contents('arquivo.pdf', $pdfBinary);
📦 Conversão usando Base64
Ideal para: APIs, Microserviços, Comunicação HTTP, Upload via JSON
🔹 Exemplo: DOCX → PDF (base64)
use FragosoSoftware\FileConverter\Core\Conversion\ConverterManager; $manager = new ConverterManager(); // Base64 do arquivo $base64 = base64_encode(file_get_contents('arquivo.docx')); $pdfBase64 = $manager->convertBase64($base64, 'docx', 'pdf'); // Salvar como arquivo file_put_contents( 'arquivo.pdf', base64_decode($pdfBase64) );