تحويل ملفات 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 مباشرةً. تُظهر الخطوات أدناه كيفية الحصول على رمز الوصول، تحميل ملف 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"
للحصول على قائمة كاملة بالمعلمات، راجع التوثيق الرسمي لواجهة برمجة التطبيقات.
التثبيت والتهيئة 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.
- 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. تتعامل المكتبة مع المصادقة وتخزين السحابة والتحويل المتدفق، مما يتيح لك التركيز على منطق الأعمال. تذكر مراجعة تفاصيل التسعير على صفحة المنتج والحصول على ترخيص مؤقت من صفحة الترخيص المؤقت للتقييم قبل الانتقال إلى الإنتاج. باستخدام الكود وأمثلة cURL في هذا الدليل، يمكنك دمج تحويل CSV إلى TXT في أي تطبيق Node.JS بسرعة وموثوقية.
الأسئلة المتكررة
كيف يمكنني تحويل CSV إلى TXT في Node.JS باستخدام Aspose.PDF?
استخدم المكتبة لتحميل ملف CSV، واستدعِ getDocument مع تنسيق 'txt'، وقم ببث الاستجابة إلى ملف محلي. يوضح مثال الكود الكامل أعلاه كل خطوة.
ما طريقة المصادقة التي يستخدمها المكتبة؟
قم بتوفير معرف العميل وسر العميل؛ تقوم المكتبة بالحصول على رمز OAuth تلقائيًا وتضمينه في كل طلب.
هل يمكن للتحويل التعامل مع الملفات الكبيرة بكفاءة؟
نعم. يتم بث كل من التحميل والتنزيل، لذا تعمل العملية مع ملفات CSV الكبيرة دون تحميل المحتوى بالكامل في الذاكرة.
أين يمكنني الحصول على ترخيص مؤقت للاختبار؟
يتوفر ترخيص مؤقت من صفحة الترخيص المؤقت.