PHPackages                             fragosoftware/file-converter - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. fragosoftware/file-converter

ActiveLibrary[File &amp; Storage](/categories/file-storage)

fragosoftware/file-converter
============================

Biblioteca PHP para conversão de arquivos (compatível com Laravel 7+).

v1.1.1(2mo ago)0124↑100%MITPHPPHP ^7.3 || ^8.0

Since Mar 3Pushed 2mo agoCompare

[ Source](https://github.com/fsdrasfragoso/file-converter)[ Packagist](https://packagist.org/packages/fragosoftware/file-converter)[ RSS](/packages/fragosoftware-file-converter/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (28)Versions (9)Used By (0)

File Converter
==============

[](#file-converter)

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 &amp; Adapters) / Clean Architecture, permite extensibilidade por meio de drivers plugáveis e gerenciamento inteligente de dependências do sistema operacional.

---

🚀 Características
-----------------

[](#-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
------------

[](#-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
--------------------------

[](#-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)
------------------------------

[](#-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
-------------------------

[](#-conversão-usando-base64)

Ideal para: APIs, Microserviços, Comunicação HTTP, Upload via JSON

🔹 Exemplo: DOCX → PDF (base64)
------------------------------

[](#-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)
);
```

---

📄 Formatos Suportados
---------------------

[](#-formatos-suportados)

A biblioteca suporta conversão de diversos formatos de documentos para PDF utilizando diferentes engines especializadas (LibreOffice, PhpOffice, Dompdf, etc).

### Documentos

[](#documentos)

FormatoConversãoDOC→ PDFDOCX→ PDFDOT→ PDFDOTX→ PDFRTF→ PDFODT→ PDF### Apresentações

[](#apresentações)

FormatoConversãoPPT→ PDFPPTX→ PDFODP→ PDF### Planilhas

[](#planilhas)

FormatoConversãoXLS→ PDFXLSX→ PDFCSV→ PDF### Texto

[](#texto)

FormatoConversãoTXT→ PDF### Markdown

[](#markdown)

FormatoConversãoMD→ PDFMARKDOWN→ PDF### Imagens

[](#imagens)

FormatoConversãoJPG→ PDFJPEG→ PDFPNG→ PDFGIF→ PDFBMP→ PDFWEBP→ PDFTIFF→ PDFTIF→ PDF---

⚙️ Engines de Conversão
-----------------------

[](#️-engines-de-conversão)

A biblioteca utiliza diferentes engines dependendo do tipo de arquivo para garantir melhor compatibilidade e performance.

EngineUtilizado paraLibreOfficeDOC, DOCX, DOT, DOTX, ODT, PPT, PPTX, ODPPhpSpreadsheetXLS, XLSXPhpWordfallback para documentos WordCommonMarkMarkdown → HTMLDompdfHTML → PDFSpatie ImageImagens → PDFSempre que possível a biblioteca utiliza uma **engine principal** e mantém um **fallback automático** para aumentar a confiabilidade da conversão.

Dependências do Sistema
-----------------------

[](#dependências-do-sistema)

Algumas conversões utilizam ferramentas externas para melhor compatibilidade e desempenho, como LibreOffice e ImageMagick.

Dependendo do formato do arquivo, estas ferramentas podem ser necessárias.

### Ferramentas utilizadas

[](#ferramentas-utilizadas)

FerramentaUtilizaçãoLibreOfficeConversão de documentos Office (DOC, DOCX, ODT, PPT, XLS etc.)ImageMagickConversão e manipulação de imagensImagick (extensão PHP)Integração do PHP com ImageMagickInstalação em Docker
--------------------

[](#instalação-em-docker)

Exemplo de Dockerfile com todas as dependências necessárias:

```
RUN apk add --no-cache \
    libreoffice \
    fontconfig \
    ttf-dejavu \
    font-noto \
    font-noto-cjk \
    font-noto-emoji
```

Instalação no Ubuntu / Debian
-----------------------------

[](#instalação-no-ubuntu--debian)

```
sudo apt install -y libreoffice
```

```
sudo apt install -y imagemagick
```

```
sudo apt install -y ghostscript
```

```
sudo apt install -y php-imagick
```

Instalação no Alpine Linux
--------------------------

[](#instalação-no-alpine-linux)

```
apk add --no-cache \
    libreoffice \
    fontconfig \
    ttf-dejavu \
    font-noto \
    font-noto-cjk \
    font-noto-emoji
```

Instalação no MacOS
-------------------

[](#instalação-no-macos)

Usando Homebrew:

```
brew install libreoffice
```

```
brew install imagemagick
```

Instalação no Windows
---------------------

[](#instalação-no-windows)

Instale o LibreOffice

Instale o ImageMagick

Durante a instalação marque a opção:

```
Install legacy utilities (convert)
```

📜 Licença
---------

[](#-licença)

Este projeto é distribuído como software livre e open source sob a licença MIT.

A licença MIT permite que qualquer pessoa:

usar a biblioteca em projetos pessoais ou comerciais

modificar o código

distribuir versões modificadas

incorporar em outros softwares

desde que o aviso de copyright e a licença original sejam mantidos.

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance86

Actively maintained with recent releases

Popularity14

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

8

Last Release

74d ago

Major Versions

v0.1.1 → v1.0.02026-03-04

### Community

Maintainers

![](https://www.gravatar.com/avatar/c04d1daa8802ea42c207c93b9bb336c1dfe758b7830a88f2ef2d91bf5377f859?d=identicon)[fsdrasfragoso](/maintainers/fsdrasfragoso)

---

Tags

laravelconversionconverterfiles

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/fragosoftware-file-converter/health.svg)

```
[![Health](https://phpackages.com/badges/fragosoftware-file-converter/health.svg)](https://phpackages.com/packages/fragosoftware-file-converter)
```

###  Alternatives

[aws/aws-sdk-php-laravel

A simple Laravel 9/10/11/12/13 service provider for including the AWS SDK for PHP.

1.7k35.6M75](/packages/aws-aws-sdk-php-laravel)[sausin/laravel-ovh

OVH Object Storage driver for laravel

40153.5k](/packages/sausin-laravel-ovh)[zing/laravel-flysystem-obs

Flysystem Adapter for OBS

1211.2k](/packages/zing-laravel-flysystem-obs)[finller/laravel-media

A flexible media library for Laravel

472.1k](/packages/finller-laravel-media)[outerweb/image-library

Store and link files to your models

1113.0k2](/packages/outerweb-image-library)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
