Преобразование файлов CSV в простой формат TXT часто требуется, когда нужны лёгкие извлечения данных для журналирования или дальнейшей обработки. Aspose.PDF Cloud SDK for Node.JS предоставляет мощную библиотеку, которая обрабатывает хранение файлов и конвертацию форматов в облаке. В этом руководстве вы увидите пошаговую реализацию, которая загружает CSV, конвертирует его в TXT и сохраняет результат локально, используя async/await. Пример также демонстрирует очистку временных файлов и базовую обработку ошибок.

Как конвертировать CSV в TXT в Node.JS - пошагово

  1. Установите библиотеку и импортируйте необходимые модули: Добавьте пакет в ваш проект и подключите необходимые классы.
const fs = require('fs');
const path = require('path');
const { PdfApi } = require('asposepdfcloud');
  1. Инициализируйте PdfApi с вашими учетными данными: Создайте экземпляр PdfApi, используя ваш client ID и secret.
const clientId = 'YOUR_CLIENT_ID';
const clientSecret = 'YOUR_CLIENT_SECRET';
const pdfApi = new PdfApi(clientId, clientSecret);
  1. Загрузите CSV‑файл в Aspose Cloud storage: Используйте uploadFile для передачи локального CSV в облако.
const localCsvPath = path.resolve(__dirname, 'input.csv');
const remoteCsvPath = 'input.csv';
await pdfApi.uploadFile(remoteCsvPath, fs.createReadStream(localCsvPath));
  1. Преобразовать загруженный CSV в TXT: Вызовите getDocument с целевым форматом 'txt'.
const convertResponse = await pdfApi.getDocument(remoteCsvPath, null, 'txt');
  1. Сохраните поток TXT локально и выполните очистку: Перенаправьте тело ответа в файл и при желании удалите удалённый CSV.
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

Для получения более подробной информации о классе PdfApi обратитесь к справке API.

Полный пример кода: преобразование CSV в TXT с помощью Aspose.PDF

Следующий код демонстрирует полный процесс от загрузки CSV‑файла до получения преобразованного TXT‑файла.

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();

Примечание: Этот пример кода демонстрирует основную функциональность. Прежде чем использовать его в вашем проекте, убедитесь, что обновили все пути к файлам и значения конфигурации в соответствии с вашей реальной средой, проверьте, что все необходимые зависимости правильно установлены, и тщательно протестируйте в вашей среде разработки. Если вы столкнётесь с какими‑либо проблемами, обратитесь к официальной документации или свяжитесь с командой поддержки для получения помощи.

Преобразование CSV‑файлов в TXT с помощью cURL

Вы можете выполнить ту же конвертацию, используя REST API напрямую. Ниже приведены шаги, показывающие, как получить токен доступа, загрузить CSV, запросить конвертацию и скачать полученный файл TXT.

  1. Получить токен доступа
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. Загрузить 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. Преобразовать загруженный CSV в 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. Удалить удалённый CSV‑файл (необязательно)
curl -X DELETE "https://api.aspose.cloud/v3.0/pdf/storage/file/input.csv" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Для полного списка параметров см. официальную документацию API.

Установка и настройка Aspose.PDF Cloud SDK для Node.JS

Добавьте библиотеку в ваш проект с помощью npm и убедитесь, что у вас есть действительная учётная запись Aspose Cloud.

npm install asposepdfcloud

Вы также можете загрузить пакет напрямую со страницы релизов. Библиотека требует Node.js 12 или выше и активную подписку Aspose Cloud.

Ключевые возможности Aspose.PDF Cloud SDK для задач CSV в TXT

  • Интеграция облачного хранилища - Файлы хранятся в Aspose Cloud, устраняя ограничения локального диска.
  • Конвертация на лету - Метод getDocument возвращает поток, позволяя сразу обрабатывать данные без промежуточных файлов.
  • Поддержка async/await - Все операции возвращают промисы, естественно вписываясь в современные кодовые базы Node.JS.
  • Потоковый ввод/вывод - Загрузка и скачивание происходят в виде потоков, снижая использование памяти при работе с большими CSV‑файлами.
  • Широкая поддержка форматов - Помимо TXT, тот же API может конвертировать в PDF, DOCX, HTML, и другие.

Тонкая настройка параметров конвертации CSV в TXT

Хотя базовое преобразование требует только целевого формата, вы можете настроить запрос, добавив дополнительные параметры, такие как имя хранилища или расположение папки. Метод getDocument принимает аргумент folder (в примере установлен в null) и аргумент storage, если вы используете пользовательское хранилище.

Пример указания имени хранилища (фрагмент кода уже использован в основном потоке):

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

Для полного списка необязательных параметров обратитесь к справочнику API.

Заключение

Преобразование CSV в TXT в Node.JS становится простым с помощью Aspose.PDF Cloud SDK for Node.JS. Библиотека обрабатывает аутентификацию, облачное хранилище и потоковое преобразование, позволяя вам сосредоточиться на бизнес‑логике. Не забудьте ознакомиться с деталями ценообразования на странице продукта и получить временную лицензию со страницы временной лицензии для оценки перед переходом в продакшн. С кодом и примерами cURL в этом руководстве вы можете быстро и надёжно интегрировать преобразование CSV в TXT в любое приложение Node.JS.

FAQs

Как я могу конвертировать CSV в TXT в Node.JS с использованием Aspose.PDF?
Используйте библиотеку для загрузки CSV, вызовите getDocument с форматом 'txt' и передайте поток ответа в локальный файл. Полный пример кода выше показывает каждый шаг.

Какой метод аутентификации использует библиотека?
Укажите ваш client ID и client secret; библиотека автоматически получает OAuth‑токен и включает его в каждый запрос.

Можно ли эффективно обрабатывать большие файлы при конвертации?
Да. И загрузка, и скачивание выполняются потоково, поэтому процесс работает с большими CSV‑файлами без загрузки всего содержимого в память.

Где можно получить временную лицензию для тестирования?
Временная лицензия доступна на странице страница временной лицензии.

Подробнее