CSV dosyalarını düz TXT formatına dönüştürmek, günlük kaydı veya daha ileri işleme için hafif veri çıkartmalarına ihtiyaç duyduğunuzda sıkça karşılaşılan bir gereksinimdir. Aspose.PDF Cloud SDK for Node.JS bulutta dosya depolama ve format dönüşümünü yöneten güçlü bir kütüphane sağlar. Bu rehberde, bir CSV dosyasını yükleyen, TXT’ye dönüştüren ve sonucu async/await kullanarak yerel olarak kaydeden adım adım bir uygulamayı göreceksiniz. Örnek ayrıca geçici dosyaların temizlenmesini ve temel hata yönetimini de gösterir.
CSV’yi TXT’ye Node.JS’te Dönüştürme - Adım Adım
- Kitaplığı kurun ve gerekli modülleri içe aktarın: Paketi projenize ekleyin ve gerekli sınıfları dahil edin.
const fs = require('fs');
const path = require('path');
const { PdfApi } = require('asposepdfcloud');
- Kimlik bilgilerinizle PdfApi’yi başlatın:
PdfApi‘nin bir örneğini istemci kimliğiniz ve gizli anahtarınızı kullanarak oluşturun.
const clientId = 'YOUR_CLIENT_ID';
const clientSecret = 'YOUR_CLIENT_SECRET';
const pdfApi = new PdfApi(clientId, clientSecret);
- CSV dosyasını Aspose Cloud depolamasına yükleyin: Yerel CSV’yi buluta aktarmak için
uploadFilekullanın.
const localCsvPath = path.resolve(__dirname, 'input.csv');
const remoteCsvPath = 'input.csv';
await pdfApi.uploadFile(remoteCsvPath, fs.createReadStream(localCsvPath));
- Yüklenen CSV’yi TXT’ye dönüştürün:
getDocumentmetodunu hedef format olarak'txt'ile çağırın.
const convertResponse = await pdfApi.getDocument(remoteCsvPath, null, 'txt');
- TXT akışını yerel olarak kaydedin ve temizleyin: Yanıt gövdesini bir dosyaya yönlendirin ve isteğe bağlı olarak uzak CSV’yi silin.
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 sınıfı hakkında daha fazla ayrıntı için, API referansı adresine bakın.
Tam Kod Örneği: CSV’den TXT’ye Dönüştürme Aspose.PDF ile
Aşağıdaki kod, bir CSV dosyasını yüklemekten dönüştürülmüş TXT dosyasını almaya kadar tam iş akışını gösterir.
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();
Not: Bu kod örneği temel işlevselliği gösterir. Projenizde kullanmadan önce, dosya yollarını ve yapılandırma değerlerini gerçek ortamınıza uygun şekilde güncellediğinizden, tüm gerekli bağımlılıkların doğru şekilde yüklendiğinden emin olun ve geliştirme ortamınızda kapsamlı bir şekilde test edin. Herhangi bir sorunla karşılaşırsanız, lütfen resmi dokümantasyona bakın veya destek ekibi ile iletişime geçin.
CSV Dosyalarını cURL Kullanarak TXT’ye Dönüştürme
Aynı dönüşümü doğrudan REST API’yi kullanarak gerçekleştirebilirsiniz. Aşağıdaki adımlar, bir erişim belirteci almayı, CSV’yi yüklemeyi, dönüşümü talep etmeyi ve oluşan TXT dosyasını indirmeyi gösterir.
- Erişim belirteci alın
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 dosyasını yükleyin
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
- Yüklenen CSV’yi TXT’ye Dönüştür
curl -X GET "https://api.aspose.cloud/v3.0/pdf/input.csv?format=txt" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.txt
- Uzak CSV dosyasını sil (isteğe bağlı)
curl -X DELETE "https://api.aspose.cloud/v3.0/pdf/storage/file/input.csv" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Parametrelerin tam listesi için, resmi API belgelerine bakın.
Kurulum ve Yapılandırma Aspose.PDF Cloud SDK for Node.JS
Kütüphaneyi projenize npm ile ekleyin ve geçerli bir Aspose Cloud hesabınızın olduğundan emin olun.
npm install asposepdfcloud
Paketi doğrudan release sayfasından da indirebilirsiniz. Kütüphane Node.js 12 veya daha yüksek bir sürüm ve aktif bir Aspose Cloud aboneliği gerektirir.
CSV’den TXT’ye Görevler için Aspose.PDF Cloud SDK’nın Temel Özellikleri
- Bulut depolama entegrasyonu - Dosyalar Aspose Cloud’da depolanır, yerel disk kısıtlamalarını ortadan kaldırır.
- Anında dönüşüm -
getDocumentyöntemi bir akış döndürür, ara dosyalar olmadan hemen işleme imkanı sağlar. - Async/await desteği - Tüm işlemler promise döndürür, modern Node.JS kod tabanlarına doğal olarak uyar.
- Akışlı G/Ç - Yüklemeler ve indirmeler akış olarak gerçekleşir, büyük CSV dosyaları için bellek kullanımını düşük tutar.
- Kapsamlı format desteği - TXT dışındaki formatlar için aynı API, PDF, DOCX, HTML, ve daha fazlasına dönüştürebilir.
CSV’den TXT’ye Dönüşüm Seçeneklerini İnce Ayarlama
Temel dönüşüm yalnızca hedef formatı gerektirirken, isteği depolama adı veya klasör konumu gibi ek parametrelerle özelleştirebilirsiniz. getDocument yöntemi, örnekte null olarak ayarlanan bir folder argümanını ve özel bir depolama kullanıyorsanız bir storage argümanını kabul eder.
Depolama adı belirtme örneği (ana akışta zaten kullanılan kod parçacığı):
const convertResponse = await pdfApi.getDocument(remoteCsvPath, null, 'txt');
Opsiyonel parametrelerin tam listesi için, API referansı adresine bakın.
Sonuç
CSV’yi TXT’ye dönüştürmek Node.JS’de Aspose.PDF Cloud SDK for Node.JS ile çok kolay hâle gelir. Kütüphane kimlik doğrulama, bulut depolama ve akış dönüşümünü yönetir, böylece iş mantığına odaklanabilirsiniz. Ürün sayfasındaki fiyatlandırma detaylarını gözden geçirmeyi ve üretime geçmeden önce değerlendirme amacıyla geçici lisans sayfasından geçici bir lisans almayı unutmayın. Bu kılavuzdaki kod ve cURL örnekleriyle, CSV’den TXT’ye dönüşümü herhangi bir Node.JS uygulamasına hızlı ve güvenilir bir şekilde entegre edebilirsiniz.
FAQs
Node.JS’de Aspose.PDF kullanarak CSV’yi TXT’ye nasıl dönüştürürüm?
Kütüphaneyi kullanarak CSV’yi yükleyin, 'txt' formatı ile getDocument metodunu çağırın ve yanıtı yerel bir dosyaya akıtın. Yukarıdaki tam kod örneği her adımı gösterir.
Kütüphane hangi kimlik doğrulama yöntemini kullanıyor?
İstemci kimliğinizi ve istemci gizlinizi sağlayın; kütüphane bir OAuth belirtecini otomatik olarak alır ve her istekte ekler.
Dönüştürme büyük dosyaları verimli bir şekilde işleyebilir mi?
Evet. Hem yükleme hem de indirme akış olarak yapılır, bu nedenle süreç tüm içeriği belleğe yüklemeden büyük CSV dosyalarıyla çalışır.
Test için geçici bir lisansı nereden alabilirim?
Geçici bir lisans, geçici lisans sayfası üzerinden temin edilebilir.