1. Productos
  2.   PDF
  3.   Node.js
  4.   Files2PDF
 
  

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.

Previous Next

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 files2pdf

Instalar 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.

 Español