Convertir Office Word y PowerPoint a PDF mediante la biblioteca gratuita de Node.js
API de conversión PDF de Node.js de código abierto para leer y convertir archivos de Office Word y PowerPoint a PDF con soporte de conversión por lotes de documentos.
¿Qué es Files2PDF?
En el mundo de la gestión de documentos, convertir archivos a PDF es una necesidad diaria. Ya sea que estés archivando presentaciones antiguas o finalizando contratos, la necesidad de un formato estable e ineditable es universal. Sin embargo, hacerlo manualmente para cientos de archivos es una pesadilla. Presentamos Files2Pdf—un paquete ligero y potente de Node.js diseñado para automatizar este proceso. La biblioteca incluye varias características importantes, como procesamiento masivo/de lotes de documentos, trabajo con múltiples formatos de documentos, modos de uso dual, manejo inteligente de errores, automatización de directorios, entre otras.
Files2Pdf es un paquete ligero de Node.js que simplifica la conversión de documentos de oficina —específicamente archivos de Microsoft Word y PowerPoint— al formato PDF. A diferencia de soluciones empresariales complejas que requieren configuraciones pesadas, Files2Pdf se centra en hacer una cosa de manera excepcional: procesar carpetas completas de documentos y generar PDFs limpios y listos para compartir. La biblioteca identifica automáticamente los archivos compatibles en su directorio y omite los que no lo son, evitando bloqueos o errores durante los trabajos por lotes.
Comenzando con Files2Pdf
La mejor manera de instalar el módulo Files2PDF es a través de npm, por favor use el siguiente comando para instalar la API.
Instalar la biblioteca Files2PDF vía npm
npm install files2pdfInstalar la biblioteca Files2PDF vía GitHub
git clone "https://github.com/An4s0/Files2Pdf.git" Capacidad de procesamiento por lotes
La biblioteca de código abierto Files2PDF incluye varias funciones para convertir múltiples archivos a documentos PDF al mismo tiempo. Una de sus características más destacadas es su capacidad para procesar carpetas completas de documentos en una sola operación. En lugar de convertir archivos uno por uno, puede apuntar Files2PDF a un directorio que contenga varios documentos, y convertirá sistemáticamente cada archivo compatible al formato PDF.
¿Cómo convertir múltiples documentos a archivos PDF dentro de aplicaciones Node.js?
const { processFolder } = require('files2pdf');
const path = require('path');
const fs = require('fs').promises;
async function convertDocuments(inputPath, outputPath) {
try {
// Verify input folder exists
await fs.access(inputPath);
console.log(`Starting conversion process...`);
console.log(`Input folder: ${inputPath}`);
console.log(`Output folder: ${outputPath}`);
// Process all files in the folder
await processFolder(inputPath, outputPath);
console.log('Conversion completed successfully!');
return { success: true, message: 'All documents converted' };
} catch (error) {
console.error('Conversion failed:', error.message);
return { success: false, error: error.message };
}
}
// Usage example
const inputDir = path.resolve(__dirname, 'documents');
const outputDir = path.resolve(__dirname, 'pdfs');
convertDocuments(inputDir, outputDir)
.then(result => {
if (result.success) {
console.log('Success:', result.message);
} else {
console.log('Failed:', result.error);
}
});
Compatibilidad multiformato
Files2PDF maneja sin problemas tanto los formatos heredados como los modernos de Microsoft Office. El paquete admite archivos de PowerPoint tanto en formatos .ppt como .pptx, junto con documentos de Word en formatos .doc y .docx. Este soporte integral de formatos garantiza la compatibilidad con documentos creados en diferentes versiones de Microsoft Office. El siguiente ejemplo de código muestra cómo se puede aplicar un sistema de monitoreo de archivos para crear un sistema automatizado de conversión de documentos que vigila un directorio en busca de nuevos archivos y los convierte automáticamente.
¿Cómo crear un sistema de monitoreo de archivos para convertir nuevos archivos cargados en un directorio en Node.js?
const { processFolder } = require('files2pdf');
const chokidar = require('chokidar');
const path = require('path');
const fs = require('fs').promises;
class DocumentConverter {
constructor(watchDir, outputDir) {
this.watchDir = path.resolve(watchDir);
this.outputDir = path.resolve(outputDir);
this.processing = new Set();
}
async initialize() {
// Ensure output directory exists
await fs.mkdir(this.outputDir, { recursive: true });
// Set up file watcher
const watcher = chokidar.watch(this.watchDir, {
ignored: /(^|[\/\\])\../, // ignore dotfiles
persistent: true,
ignoreInitial: false
});
watcher.on('add', async (filePath) => {
await this.handleNewFile(filePath);
});
console.log(`Watching ${this.watchDir} for new documents...`);
}
async handleNewFile(filePath) {
const ext = path.extname(filePath).toLowerCase();
const supportedFormats = ['.ppt', '.pptx', '.doc', '.docx'];
if (!supportedFormats.includes(ext)) {
return; // Skip unsupported files
}
if (this.processing.has(filePath)) {
return; // Already processing this file
}
this.processing.add(filePath);
console.log(`New file detected: ${path.basename(filePath)}`);
try {
await processFolder(path.dirname(filePath), this.outputDir);
console.log(`Successfully converted: ${path.basename(filePath)}`);
} catch (error) {
console.error(`Error converting ${path.basename(filePath)}:`, error.message);
} finally {
this.processing.delete(filePath);
}
}
}
// Initialize the converter
const converter = new DocumentConverter('./watched-folder', './converted-pdfs');
converter.initialize();
Tamaño y orientación de página personalizables
Un enfoque único para todos no funciona con los PDFs. Una captura de pantalla puede ser mejor en modo horizontal, mientras que un documento de texto es más adecuado en modo vertical. Files2PDF le permite definir el tamaño de página (p. ej., A4, Letter) y la orientación (Vertical u Horizontal) para todo el PDF de salida, asegurando que su contenido se muestre correctamente.
Filtrado inteligente de archivos
La biblioteca de código abierto Files2PDF facilita a los desarrolladores de software identificar y procesar automáticamente solo los tipos de archivo compatibles, omitiendo con elegancia los formatos no soportados sin generar errores. Este mecanismo de filtrado inteligente garantiza un funcionamiento fluido incluso al trabajar con carpetas que contienen tipos de archivo mixtos.