Конвертування CSV файлів у простий формат TXT часто необхідне, коли потрібні легкі витяги даних для журналювання або подальшої обробки. Aspose.PDF Cloud SDK for Node.JS надає потужну бібліотеку, яка обробляє зберігання файлів та конвертацію форматів у хмарі. У цьому посібнику ви побачите step‑by‑step реалізацію, яка завантажує CSV, конвертує його у TXT і зберігає результат локально, використовуючи async/await. Приклад також демонструє очищення тимчасових файлів та базову обробку помилок.
Як конвертувати CSV у TXT у Node.JS — крок за кроком
- Встановіть бібліотеку та імпортуйте необхідні модулі: Додайте пакет до вашого проєкту та підключіть потрібні класи.
const fs = require('fs');
const path = require('path');
const { PdfApi } = require('asposepdfcloud');
- Ініціалізуйте PdfApi за вашими обліковими даними: Створіть екземпляр
PdfApi, використовуючи ваш client ID та secret.
const clientId = 'YOUR_CLIENT_ID';
const clientSecret = 'YOUR_CLIENT_SECRET';
const pdfApi = new PdfApi(clientId, clientSecret);
- Завантажте CSV‑файл у Aspose Cloud storage: Використовуйте
uploadFileдля передачі локального CSV у хмару.
const localCsvPath = path.resolve(__dirname, 'input.csv');
const remoteCsvPath = 'input.csv';
await pdfApi.uploadFile(remoteCsvPath, fs.createReadStream(localCsvPath));
- Перетворити завантажений CSV у TXT: Викличте
getDocumentз цільовим форматом'txt'.
const convertResponse = await pdfApi.getDocument(remoteCsvPath, null, 'txt');
- Збережіть потік 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.
- Отримайте токен доступу
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"
- Завантажте 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
- Перетворити завантажений 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
- Видалити віддалений 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 for 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.
Поширені питання
Як конвертувати CSV у TXT у Node.JS за допомогою Aspose.PDF?
Використовуйте бібліотеку для завантаження CSV, викличте getDocument з форматом 'txt' і передайте відповідь у локальний файл. Повний приклад коду вище показує кожен крок.
Який метод автентифікації використовує бібліотека?
Надайте ваш ідентифікатор клієнта та секретний ключ; бібліотека автоматично отримує OAuth‑токен і включає його в кожен запит.
Чи може конвертація ефективно обробляти великі файли?
Так. Обидва процеси — завантаження та скачування — виконуються у потоковому режимі, тому процес працює з великими CSV‑файлами без завантаження всього вмісту в пам’ять.
Де я можу отримати тимчасову ліцензію для тестування?
Тимчасова ліцензія доступна на сторінці тимчасової ліцензії.