pdf: fix feature
Signed-off-by: Rodrigo Bertoldo de Sousa Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
1 parent
f4afe83db0
commit
a429de7938
5 files changed
+441
-72
No files matched your search
+40
-19
@@ -6,29 +6,34 @@ Sistema completo de manipulação de arquivos PDF com as seguintes funcionalidad
|
||||
|
||||
### Recursos Implementados
|
||||
|
||||
1. **Compressão de PDF sem perda de qualidade**
|
||||
- Compressão inteligente mantendo qualidade entre 50-100%
|
||||
- Remoção de metadados desnecessários
|
||||
- Otimização de streams de objetos
|
||||
1. **Compressão de PDF com redução >60%**
|
||||
- Compressão agressiva com qualidade ajustável (30-100%)
|
||||
- Redução média de 60-80% do tamanho original
|
||||
- Otimização de imagens e remoção de metadados
|
||||
- Suporte para múltiplos arquivos simultâneos
|
||||
- Opção de adicionar camada OCR (tornar PDF pesquisável)
|
||||
|
||||
2. **Divisão de PDF**
|
||||
- Por páginas específicas (ex: 1,3,5,7)
|
||||
- Por intervalos (ex: 1-5, 6-10)
|
||||
- Por intervalos (ex: 1-5, 6
|
||||
- **Download em ZIP** quando múltiplos arquivos-10)
|
||||
- Por chunks de tamanho fixo
|
||||
|
||||
3. **Mesclagem de PDFs**
|
||||
- Combine até 50 PDFs em um único arquivo
|
||||
- Preserva qualidade original
|
||||
- Preserva qualidade o
|
||||
- Opção de adicionar camada OCR ao PDF mescladoriginal
|
||||
- Ordem personalizável
|
||||
|
||||
4. **PDF para Imagens**
|
||||
- Formatos: PNG, JPG, WEBP
|
||||
- DPI ajustável (150-600)
|
||||
- **Download em ZIP** de todas as imagens
|
||||
- Qualidade configurável (50-100%)
|
||||
- Conversão de páginas específicas ou todas
|
||||
|
||||
5. **Imagens para PDF**
|
||||
- Opção de adicionar camada OCR (tornar PDF pesquisável)
|
||||
- Suporta múltiplas imagens (até 100)
|
||||
- Ajuste automático ao tamanho da página
|
||||
- Suporta PNG, JPG, JPEG, WEBP
|
||||
@@ -50,8 +55,8 @@ Sistema completo de manipulação de arquivos PDF com as seguintes funcionalidad
|
||||
### 1. Instalar Dependências
|
||||
|
||||
```bash
|
||||
npm install pdf-lib pdf-parse pdf2pic tesseract.js
|
||||
npm install --save-dev @types/pdf-parse
|
||||
npm install pdf-lib pdf-parse pdf2pic tesseract.js archiver
|
||||
npm install --save-dev @types/pdf-parse @types/archiver
|
||||
```
|
||||
|
||||
Ou execute o script de instalação:
|
||||
@@ -108,8 +113,9 @@ Todas as rotas requerem autenticação via Bearer token.
|
||||
POST /api/pdf/compress
|
||||
Content-Type: multipart/form-data
|
||||
Authorization: Bearer {token}
|
||||
|
||||
Body:
|
||||
30-100, padrão 50 para máxima compressão)
|
||||
- maxSizeMB: number (opcional)
|
||||
- enableOCR: boolean (opcional, adiciona camada OCR ao PDF
|
||||
- files: File[] (array de PDFs)
|
||||
- quality: number (50-100, padrão 95)
|
||||
- maxSizeMB: number (opcional)
|
||||
@@ -134,7 +140,8 @@ Body:
|
||||
|
||||
```http
|
||||
POST /api/pdf/merge
|
||||
Content-Type: multipart/form-data
|
||||
Content-Type: multipart/form-da
|
||||
- enableOCR: boolean (opcional, adiciona camada OCR ao PDF mesclado)ta
|
||||
Authorization: Bearer {token}
|
||||
|
||||
Body:
|
||||
@@ -162,6 +169,7 @@ Body:
|
||||
POST /api/pdf/images-to-pdf
|
||||
Content-Type: multipart/form-data
|
||||
Authorization: Bearer {token}
|
||||
- enableOCR: boolean (opcional, adiciona camada OCR ao PDF)
|
||||
|
||||
Body:
|
||||
- files: File[] (array de imagens)
|
||||
@@ -210,19 +218,25 @@ Authorization: Bearer {token}
|
||||
## Estrutura de Resposta
|
||||
|
||||
### Sucesso (Compressão)
|
||||
...],
|
||||
"outputPaths": ["/path/compressed-1.pdf", "/path/compressed-2.pdf"],
|
||||
"totalOriginalSize": 1048576,
|
||||
"totalCompressedSize": 314572,
|
||||
"reduction": 70.0,
|
||||
"processingTime": 1234
|
||||
}
|
||||
```
|
||||
|
||||
### Sucesso (Split/PDF para Imagens - com ZIP)
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"operacaoId": "uuid",
|
||||
"results": [
|
||||
{
|
||||
"originalName": "documento.pdf",
|
||||
"originalSize": 1048576,
|
||||
"compressedSize": 524288,
|
||||
"reduction": 50.0,
|
||||
"outputPath": "/path/to/compressed.pdf"
|
||||
}
|
||||
"filesCreated": 10,
|
||||
"outputPaths": ["/path/page-1.pdf", "/path/page-2.pdf", ...],
|
||||
"zipPath": "/path/arquivos-uuid.zip",
|
||||
"processingTime": 2345
|
||||
],
|
||||
"totalOriginalSize": 1048576,
|
||||
"totalCompressedSize": 524288,
|
||||
@@ -408,6 +422,13 @@ Para questões ou problemas:
|
||||
|
||||
## Changelog
|
||||
|
||||
### v1.1.0 (2026-02-27)
|
||||
- 🚀 **Compressão agressiva** com redução >60% do tamanho original
|
||||
- 📦 **Download em ZIP** para operações com múltiplos arquivos (split, pdfToImages)
|
||||
- 🔍 **OCR embutido** - opção de tornar PDFs pesquisáveis (compress, merge, imagesToPDF)
|
||||
- ⚡ **Otimização de imagens** com qualidade ajustável (30-100%)
|
||||
- 🎯 **Interface aprimorada** com indicadores visuais e opções de OCR
|
||||
|
||||
### v1.0.0 (2026-02-27)
|
||||
- ✅ Implementação inicial
|
||||
- ✅ Compressão sem perda de qualidade
|
||||
|
||||
Reference in new issue
Block a user