Chuyển đổi các tệp CSV sang định dạng TXT thuần là một yêu cầu thường gặp khi bạn cần trích xuất dữ liệu nhẹ cho việc ghi log hoặc xử lý tiếp theo. Aspose.PDF Cloud SDK for Node.JS cung cấp một thư viện mạnh mẽ giúp xử lý lưu trữ tệp và chuyển đổi định dạng trong đám mây. Trong hướng dẫn này, bạn sẽ thấy một triển khai từng bước để tải lên một tệp CSV, chuyển đổi nó sang TXT và lưu kết quả cục bộ bằng async/await. Ví dụ cũng minh họa việc dọn dẹp các tệp tạm thời và xử lý lỗi cơ bản.

Cách Chuyển Đổi CSV sang TXT trong Node.JS - Từng Bước

  1. Cài đặt thư viện và nhập các mô-đun cần thiết: Thêm gói vào dự án của bạn và yêu cầu các lớp cần thiết.
const fs = require('fs');
const path = require('path');
const { PdfApi } = require('asposepdfcloud');
  1. Khởi tạo PdfApi với thông tin xác thực của bạn: Tạo một thể hiện của PdfApi bằng cách sử dụng client ID và secret của bạn.
const clientId = 'YOUR_CLIENT_ID';
const clientSecret = 'YOUR_CLIENT_SECRET';
const pdfApi = new PdfApi(clientId, clientSecret);
  1. Tải lên tệp CSV lên Aspose Cloud storage: Sử dụng uploadFile để chuyển tệp CSV cục bộ lên đám mây.
const localCsvPath = path.resolve(__dirname, 'input.csv');
const remoteCsvPath = 'input.csv';
await pdfApi.uploadFile(remoteCsvPath, fs.createReadStream(localCsvPath));
  1. Chuyển đổi CSV đã tải lên sang TXT: Gọi getDocument với định dạng mục tiêu là 'txt'.
const convertResponse = await pdfApi.getDocument(remoteCsvPath, null, 'txt');
  1. Lưu luồng TXT cục bộ và dọn dẹp: Đưa phần thân phản hồi vào một tệp và tùy chọn xóa CSV từ xa.
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

Để biết thêm chi tiết về lớp PdfApi, hãy tham khảo tài liệu tham khảo API.

Ví dụ mã đầy đủ: Chuyển đổi CSV sang TXT với Aspose.PDF

Đoạn mã sau đây trình bày quy trình đầy đủ từ việc tải lên tệp CSV đến việc lấy tệp TXT đã được chuyển đổi.

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

Lưu ý: Ví dụ mã này minh họa chức năng cốt lõi. Trước khi sử dụng trong dự án của bạn, hãy chắc chắn cập nhật mọi đường dẫn tệp và giá trị cấu hình để phù hợp với môi trường thực tế của bạn, xác minh rằng tất cả các phụ thuộc cần thiết đã được cài đặt đúng cách, và kiểm tra kỹ lưỡng trong môi trường phát triển. Nếu bạn gặp bất kỳ vấn đề nào, vui lòng tham khảo tài liệu chính thức hoặc liên hệ với đội hỗ trợ để được trợ giúp.

Chuyển đổi tệp CSV sang TXT bằng cURL

Bạn có thể thực hiện chuyển đổi tương tự bằng cách sử dụng trực tiếp REST API. Các bước dưới đây cho thấy cách lấy token truy cập, tải lên tệp CSV, yêu cầu chuyển đổi và tải xuống tệp TXT kết quả.

  1. Lấy token truy cập
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. Tải lên tệp 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. Chuyển đổi CSV đã tải lên sang 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. Xóa tệp CSV từ xa (tùy chọn)
curl -X DELETE "https://api.aspose.cloud/v3.0/pdf/storage/file/input.csv" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Để xem danh sách đầy đủ các tham số, hãy tham khảo tài liệu API chính thức.

Cài đặt và cấu hình Aspose.PDF Cloud SDK for Node.JS

Thêm thư viện vào dự án của bạn bằng npm và đảm bảo bạn có tài khoản Aspose Cloud hợp lệ.

npm install asposepdfcloud

Bạn cũng có thể tải gói trực tiếp từ trang phát hành. Thư viện yêu cầu Node.js 12 trở lên và một đăng ký Aspose Cloud đang hoạt động.

Các tính năng chính của Aspose.PDF Cloud SDK cho các tác vụ CSV sang TXT

  • Tích hợp lưu trữ đám mây - Các tệp được lưu trữ trong Aspose Cloud, loại bỏ các ràng buộc về đĩa cục bộ.
  • Chuyển đổi ngay lập tức - Phương thức getDocument trả về một luồng, cho phép xử lý ngay mà không cần tệp trung gian.
  • Hỗ trợ Async/await - Tất cả các thao tác trả về promise, phù hợp tự nhiên với các codebase Node.JS hiện đại.
  • I/O dạng luồng - Việc tải lên và tải xuống được thực hiện dưới dạng luồng, giữ mức sử dụng bộ nhớ thấp cho các tệp CSV lớn.
  • Hỗ trợ đa định dạng toàn diện - Ngoài TXT, cùng một API có thể chuyển đổi sang PDF, DOCX, HTML, và nhiều định dạng khác.

Tinh chỉnh các tùy chọn chuyển đổi từ CSV sang TXT

Trong khi việc chuyển đổi cơ bản chỉ yêu cầu định dạng đích, bạn có thể tùy chỉnh yêu cầu bằng các tham số bổ sung như tên lưu trữ hoặc vị trí thư mục. Phương thức getDocument chấp nhận đối số folder (được đặt thành null trong ví dụ) và đối số storage nếu bạn sử dụng lưu trữ tùy chỉnh.

Ví dụ về việc chỉ định tên lưu trữ (đoạn mã đã được sử dụng trong luồng chính):

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

Để xem danh sách đầy đủ các tham số tùy chọn, hãy tham khảo tham chiếu API.

Kết luận

Chuyển đổi CSV sang TXT trong Node.JS trở nên đơn giản với Aspose.PDF Cloud SDK for Node.JS. Thư viện xử lý xác thực, lưu trữ đám mây và chuyển đổi luồng, cho phép bạn tập trung vào logic nghiệp vụ. Hãy nhớ xem xét chi tiết giá trên trang sản phẩm và lấy giấy phép tạm thời từ trang giấy phép tạm thời để đánh giá trước khi chuyển sang môi trường sản xuất. Với mã và các ví dụ cURL trong hướng dẫn này, bạn có thể tích hợp chuyển đổi CSV sang TXT vào bất kỳ ứng dụng Node.JS nào một cách nhanh chóng và đáng tin cậy.

Câu hỏi thường gặp

Làm thế nào để chuyển đổi CSV sang TXT trong Node.JS bằng Aspose.PDF?
Sử dụng thư viện để tải lên CSV, gọi getDocument với định dạng 'txt', và truyền luồng phản hồi tới một tệp cục bộ. Ví dụ mã đầy đủ ở trên cho thấy từng bước.

Phương thức xác thực nào mà thư viện sử dụng?
Cung cấp ID khách hàng và bí mật khách hàng của bạn; thư viện sẽ tự động lấy token OAuth và bao gồm nó trong mỗi yêu cầu.

Có thể chuyển đổi xử lý các tệp lớn một cách hiệu quả không?
Có. Cả việc tải lên và tải xuống đều được truyền phát, vì vậy quá trình hoạt động với các tệp CSV lớn mà không cần tải toàn bộ nội dung vào bộ nhớ.

Bạn có thể lấy giấy phép tạm thời để thử nghiệm ở đâu?
Giấy phép tạm thời có sẵn tại trang giấy phép tạm thời.

Đọc thêm