Files
advx/src/server/routes/pdf.ts
T
rodrigo 4bec0ee582 pdf: fix feature
Signed-off-by: Rodrigo Bertoldo de Sousa Martins <rodrigo.sousa.577@gmail.com>
2026-02-27 19:52:05 -03:00

104 lines
1.8 KiB
TypeScript

import express from 'express';
import { PDFController, uploadMiddleware } from '../controllers/pdfController';
import { authMiddleware } from '../../middleware/auth';
const router = express.Router();
/**
* Rotas para manipulação de PDF
* Todas as rotas requerem autenticação
*/
// Comprime PDFs
router.post(
'/compress',
authMiddleware,
uploadMiddleware.array('files', 10),
PDFController.compress
);
// Divide PDF
router.post(
'/split',
authMiddleware,
uploadMiddleware.array('files', 1),
PDFController.split
);
// Mescla PDFs
router.post(
'/merge',
authMiddleware,
uploadMiddleware.array('files', 50),
PDFController.merge
);
// Converte PDF para imagens
router.post(
'/pdf-to-images',
authMiddleware,
uploadMiddleware.array('files', 1),
PDFController.pdfToImages
);
// Converte imagens para PDF
router.post(
'/images-to-pdf',
authMiddleware,
uploadMiddleware.array('files', 100),
PDFController.imagesToPDF
);
// Realiza OCR em PDF
router.post(
'/ocr',
authMiddleware,
uploadMiddleware.array('files', 1),
PDFController.performOCR
);
// Obtém informações de um PDF
router.post(
'/info',
authMiddleware,
uploadMiddleware.array('files', 1),
PDFController.getInfo
);
// Obtém histórico de operações
router.get(
'/history',
authMiddleware,
PDFController.getHistory
);
// Download de arquivo processado
router.get(
'/download/:operacaoId/:fileIndex',
authMiddleware,
PDFController.downloadFile
);
// Deleta uma operação específica
router.delete(
'/operation/:operacaoId',
authMiddleware,
PDFController.deleteOperation
);
// Limpa todo o histórico
router.delete(
'/history/clear',
authMiddleware,
PDFController.clearHistory
);
// Limpa operações antigas
router.delete(
'/history/cleanup',
authMiddleware,
PDFController.cleanupOldOperations
);
export default router;