تبدیل فایلهای CSV به فرمت سادهٔ TXT یک نیاز رایج است زمانی که به استخراج دادههای سبک برای ثبت لاگ یا پردازشهای بعدی نیاز دارید. Aspose.PDF Cloud SDK for Node.JS یک کتابخانهٔ قدرتمند ارائه میدهد که ذخیرهسازی فایل و تبدیل فرمت را در ابر مدیریت میکند. در این راهنما گامبهگام پیادهسازیای را خواهید دید که یک CSV را بارگذاری میکند، به TXT تبدیل مینماید و نتیجه را بهصورت محلی با استفاده از async/await ذخیره میکند. این مثال همچنین پاکسازی فایلهای موقت و مدیریت خطای پایه را نشان میدهد.
نحوه تبدیل CSV به TXT در Node.JS - گام به گام
- نصب کتابخانه و وارد کردن ماژولهای مورد نیاز: بسته را به پروژه خود اضافه کنید و کلاسهای لازم را فراخوانی کنید.
const fs = require('fs');
const path = require('path');
const { PdfApi } = require('asposepdfcloud');
- PdfApi را با اعتبارهای خود مقداردهی اولیه کنید: یک نمونه از
PdfApiبا استفاده از شناسهٔ مشتری و کلید محرمانهٔ خود ایجاد کنید.
const clientId = 'YOUR_CLIENT_ID';
const clientSecret = 'YOUR_CLIENT_SECRET';
const pdfApi = new PdfApi(clientId, clientSecret);
- بارگذاری فایل CSV در ذخیرهسازی Aspose Cloud: از
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 برای Node.JS
کتابخانه را با npm به پروژه خود اضافه کنید و اطمینان حاصل کنید که یک حساب Aspose Cloud معتبر دارید.
npm install asposepdfcloud
شما میتوانید بسته را بهصورت مستقیم از صفحهٔ انتشار دانلود کنید. این کتابخانه به Node.js نسخهٔ 12 یا بالاتر و یک اشتراک فعال Aspose Cloud نیاز دارد.
ویژگیهای کلیدی Aspose.PDF Cloud SDK برای وظایف CSV به TXT
- یکپارچهسازی ذخیرهسازی ابری - فایلها در Aspose Cloud ذخیره میشوند و محدودیتهای دیسک محلی را از بین میبرند.
- تبدیل در حین اجرا - متد
getDocumentیک جریان (stream) برمیگرداند که امکان پردازش فوری بدون فایلهای میانی را فراهم میکند. - پشتیبانی از Async/await - تمام عملیات وعدهها (promises) را برمیگردانند و بهطور طبیعی در کدهای مدرن Node.JS جای میگیرند.
- I/O استریمینگ - بارگذاریها و دانلودها به صورت استریم انجام میشوند و مصرف حافظه را برای فایلهای بزرگ 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 ساده میشود. این کتابخانه احراز هویت، ذخیرهسازی ابری و تبدیل استریم را مدیریت میکند و به شما امکان میدهد بر منطق کسبوکار تمرکز کنید. بهخاطر داشته باشید که جزئیات قیمتگذاری را در صفحه محصول مرور کنید و برای ارزیابی قبل از انتقال به تولید، یک لایسنس موقت از temporary license page دریافت کنید. با کدها و مثالهای cURL در این راهنما، میتوانید تبدیل CSV به TXT را بهسرعت و بهصورت قابل اطمینان در هر برنامه Node.JS یکپارچه کنید.
سوالات متداول
چگونه CSV را به TXT در Node.JS با استفاده از Aspose.PDF تبدیل کنم؟
از کتابخانه برای بارگذاری CSV استفاده کنید، getDocument را با فرمت 'txt' صدا بزنید و پاسخ را به یک فایل محلی استریم کنید. مثال کامل کد در بالا هر مرحله را نشان میدهد.
کتابخانه از چه روش احراز هویت استفاده میکند؟
شناسه مشتری (client ID) و رمز مشتری (client secret) خود را ارائه دهید؛ کتابخانه بهصورت خودکار یک توکن OAuth دریافت میکند و آن را در هر درخواست گنجانده میشود.
آیا تبدیل میتواند فایلهای بزرگ را بهصورت کارآمد پردازش کند؟
بله. هر دو عملیات بارگذاری و دانلود بهصورت جریاندار انجام میشوند، بنابراین این فرآیند با فایلهای CSV بزرگ کار میکند بدون اینکه کل محتوا را در حافظه بارگذاری کند.
کجا میتوانم یک مجوز موقت برای تست دریافت کنم؟
یک مجوز موقت از صفحه مجوز موقت در دسترس است.