Convertir archivos CSV a formato plano TXT es un requisito frecuente cuando necesita extracciones de datos ligeras para registro o procesamiento adicional. Aspose.PDF Cloud SDK for Node.JS proporciona una biblioteca potente que maneja el almacenamiento de archivos y la conversión de formatos en la nube. En esta guía verá una implementación paso‑a‑paso que carga un CSV, lo convierte a TXT y guarda el resultado localmente usando async/await. El ejemplo también muestra la limpieza de archivos temporales y el manejo básico de errores.

Cómo convertir CSV a TXT en Node.JS - Paso a paso

  1. Instale la biblioteca e importe los módulos requeridos: Agregue el paquete a su proyecto y requiera las clases necesarias.
const fs = require('fs');
const path = require('path');
const { PdfApi } = require('asposepdfcloud');
  1. Inicializar el PdfApi con sus credenciales: Cree una instancia de PdfApi usando su ID de cliente y secreto.
const clientId = 'YOUR_CLIENT_ID';
const clientSecret = 'YOUR_CLIENT_SECRET';
const pdfApi = new PdfApi(clientId, clientSecret);
  1. Cargar el archivo CSV en el almacenamiento de Aspose Cloud: Use uploadFile para transferir el CSV local a la nube.
const localCsvPath = path.resolve(__dirname, 'input.csv');
const remoteCsvPath = 'input.csv';
await pdfApi.uploadFile(remoteCsvPath, fs.createReadStream(localCsvPath));
  1. Convertir el CSV cargado a TXT: Llame a getDocument con el formato de destino 'txt'.
const convertResponse = await pdfApi.getDocument(remoteCsvPath, null, 'txt');
  1. Guardar el flujo TXT localmente y limpiar: Canaliza el cuerpo de la respuesta a un archivo y, opcionalmente, elimina el CSV remoto.
const localTxtPath = path.resolve(__dirname, 'output.txt');
const writeStream = fs.createWriteStream(localTxtPath);
await new Promise((resolve, reject) => {
    convertResponse.body.pipe(writeStream);
    convertResponse.body.on('error', reject);
    writeStream.on('finish', resolve);
    writeStream.on('error', reject);
});
await pdfApi.deleteFile(remoteCsvPath); // optional cleanup

Para obtener más detalles sobre la clase PdfApi, consulte la referencia de API.

Ejemplo completo de código: Conversión de CSV a TXT con Aspose.PDF

El siguiente código muestra el flujo de trabajo completo, desde la carga de un archivo CSV hasta la recuperación del archivo TXT convertido.

const fs = require('fs');
const path = require('path');
const { PdfApi } = require('asposepdfcloud');

// Replace with your actual Aspose PDF Cloud credentials
const clientId = 'YOUR_CLIENT_ID';
const clientSecret = 'YOUR_CLIENT_SECRET';

// Initialize the PdfApi instance
const pdfApi = new PdfApi(clientId, clientSecret);

// Paths (adjust as needed)
const localCsvPath = path.resolve(__dirname, 'input.csv');
const remoteCsvPath = 'input.csv'; // Path in Aspose Cloud storage
const localTxtPath = path.resolve(__dirname, 'output.txt');

async function convertCsvToTxt() {
    try {
        // 1. Upload the CSV file to Aspose Cloud storage
        const uploadResponse = await pdfApi.uploadFile(remoteCsvPath, fs.createReadStream(localCsvPath));
        if (uploadResponse.status !== 'OK') {
            throw new Error(`Upload failed: ${JSON.stringify(uploadResponse)}`);
        }
        console.log('CSV file uploaded successfully.');

// 2. Convert the uploaded CSV to TXT format
        const convertResponse = await pdfApi.getDocument(remoteCsvPath, null, 'txt');
        if (!convertResponse.body) {
            throw new Error('Conversion response does not contain a body stream.');
        }

// 3. Save the converted TXT stream to a local file
        const writeStream = fs.createWriteStream(localTxtPath);
        await new Promise((resolve, reject) => {
            convertResponse.body.pipe(writeStream);
            convertResponse.body.on('error', reject);
            writeStream.on('finish', resolve);
            writeStream.on('error', reject);
        });
        console.log(`Conversion completed. TXT saved to ${localTxtPath}`);

// 4. (Optional) Clean up: delete the CSV file from cloud storage
        const deleteResponse = await pdfApi.deleteFile(remoteCsvPath);
        if (deleteResponse.status !== 'OK') {
            console.warn(`Failed to delete remote CSV: ${JSON.stringify(deleteResponse)}`);
        } else {
            console.log('Remote CSV file deleted.');
        }
    } catch (error) {
        console.error('An error occurred:', error.message);
    }
}

// Execute the conversion
convertCsvToTxt();

Nota: Este ejemplo de código muestra la funcionalidad principal. Antes de usarlo en su proyecto, asegúrese de actualizar cualquier ruta de archivo y valores de configuración para que coincidan con su entorno real, verifique que todas las dependencias requeridas estén correctamente instaladas y pruebe exhaustivamente en su entorno de desarrollo. Si encuentra algún problema, consulte la documentación oficial o póngase en contacto con el equipo de soporte para obtener ayuda.

Convertir archivos CSV a TXT usando cURL

Puede lograr la misma conversión utilizando directamente la API REST. Los pasos a continuación muestran cómo obtener un token de acceso, cargar el CSV, solicitar la conversión y descargar el archivo TXT resultante.

  1. Obtener un token de acceso
curl -X POST "https://api.aspose.cloud/connect/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
  1. Cargar el archivo CSV
curl -X PUT "https://api.aspose.cloud/v3.0/pdf/storage/file/input.csv" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: text/csv" \
     --data-binary @input.csv
  1. Convertir el CSV cargado a TXT
curl -X GET "https://api.aspose.cloud/v3.0/pdf/input.csv?format=txt" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.txt
  1. Eliminar el archivo CSV remoto (opcional)
curl -X DELETE "https://api.aspose.cloud/v3.0/pdf/storage/file/input.csv" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Para obtener una lista completa de los parámetros, consulte la documentación oficial de la API.

Instalación y configuración de Aspose.PDF Cloud SDK for Node.JS

Agrega la biblioteca a tu proyecto con npm y asegúrate de tener una cuenta válida de Aspose Cloud.

npm install asposepdfcloud

También puedes descargar el paquete directamente desde la página de lanzamiento. La biblioteca requiere Node.js 12 o superior y una suscripción activa a Aspose Cloud.

Características clave de Aspose.PDF Cloud SDK for CSV to TXT Tasks

  • Integración de almacenamiento en la nube - Los archivos se almacenan en Aspose Cloud, eliminando las limitaciones del disco local.
  • Conversión en tiempo real - El método getDocument devuelve un flujo, permitiendo el procesamiento inmediato sin archivos intermedios.
  • Compatibilidad con async/await - Todas las operaciones devuelven promesas, encajando de forma natural en bases de código modernas de Node.JS.
  • E/S por streaming - Las cargas y descargas se transmiten en streaming, manteniendo bajo el uso de memoria para archivos CSV grandes.
  • Compatibilidad integral de formatos - Además de TXT, la misma API puede convertir a PDF, DOCX, HTML, y más.

Ajuste fino de opciones de conversión de CSV a TXT

Si bien la conversión básica solo requiere el formato de destino, puedes personalizar la solicitud con parámetros adicionales como el nombre del almacenamiento o la ubicación de la carpeta. El método getDocument acepta un argumento folder (establecido en null en el ejemplo) y un argumento storage si utilizas un almacenamiento personalizado.

Ejemplo de especificar un nombre de almacenamiento (fragmento de código ya usado en el flujo principal):

const convertResponse = await pdfApi.getDocument(remoteCsvPath, null, 'txt');

Para obtener una lista completa de los parámetros opcionales, consulte la referencia de API.

Conclusión

Convertir CSV a TXT en Node.JS se vuelve sencillo con el Aspose.PDF Cloud SDK for Node.JS. La biblioteca gestiona la autenticación, el almacenamiento en la nube y la conversión por streaming, permitiéndote centrarte en la lógica de negocio. Recuerda revisar los detalles de precios en la página del producto y obtener una licencia temporal desde la página de licencia temporal para la evaluación antes de pasar a producción. Con el código y los ejemplos de cURL en esta guía, puedes integrar la conversión de CSV a TXT en cualquier aplicación Node.JS de forma rápida y fiable.

FAQs

¿Cómo convierto CSV a TXT en Node.JS usando Aspose.PDF?
Utilice la biblioteca para cargar el CSV, llame a getDocument con el formato 'txt' y transmita la respuesta a un archivo local. El ejemplo completo de código anterior muestra cada paso.

¿Qué método de autenticación usa la biblioteca?
Proporcione su ID de cliente y su secreto de cliente; la biblioteca obtiene un token OAuth automáticamente y lo incluye en cada solicitud.

¿Puede la conversión manejar archivos grandes de manera eficiente?
Sí. Tanto la carga como la descarga se realizan mediante transmisión, por lo que el proceso funciona con archivos CSV grandes sin cargar todo el contenido en la memoria.

¿Dónde puedo obtener una licencia temporal para pruebas?
Una licencia temporal está disponible en la página de licencia temporal.

Leer más