Converter arquivos CSV para o formato TXT simples é uma necessidade frequente quando você precisa de extratos de dados leves para registro ou processamento adicional. Aspose.PDF Cloud SDK for Node.JS fornece uma biblioteca poderosa que lida com armazenamento de arquivos e conversão de formatos na nuvem. Neste guia, você verá uma implementação passo a passo que faz upload de um CSV, converte‑o para TXT e salva o resultado localmente usando async/await. O exemplo também demonstra a limpeza de arquivos temporários e o tratamento básico de erros.
Como Converter CSV para TXT em Node.JS - Passo a Passo
- Instale a biblioteca e importe os módulos necessários: Adicione o pacote ao seu projeto e importe as classes necessárias.
const fs = require('fs');
const path = require('path');
const { PdfApi } = require('asposepdfcloud');
- Inicialize o PdfApi com suas credenciais: Crie uma instância de
PdfApiusando seu ID de cliente e segredo.
const clientId = 'YOUR_CLIENT_ID';
const clientSecret = 'YOUR_CLIENT_SECRET';
const pdfApi = new PdfApi(clientId, clientSecret);
- Carregue o arquivo CSV para o Aspose Cloud storage: Use
uploadFilepara transferir o CSV local para a nuvem.
const localCsvPath = path.resolve(__dirname, 'input.csv');
const remoteCsvPath = 'input.csv';
await pdfApi.uploadFile(remoteCsvPath, fs.createReadStream(localCsvPath));
- Converter o CSV enviado para TXT: Chame
getDocumentcom o formato de destino'txt'.
const convertResponse = await pdfApi.getDocument(remoteCsvPath, null, 'txt');
- Salvar o fluxo TXT localmente e limpar: Canalize o corpo da resposta para um arquivo e, opcionalmente, exclua o CSV remoto.
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
Para mais detalhes sobre a classe PdfApi, consulte a referência da API.
Exemplo de Código Completo: Conversão de CSV para TXT com Aspose.PDF
O código a seguir demonstra o fluxo de trabalho completo, desde o upload de um arquivo CSV até a recuperação do arquivo TXT convertido.
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();
Nota: Este exemplo de código demonstra a funcionalidade principal. Antes de usá‑lo em seu projeto, certifique‑se de atualizar quaisquer caminhos de arquivo e valores de configuração para corresponder ao seu ambiente real, verifique se todas as dependências necessárias estão devidamente instaladas e teste minuciosamente em seu ambiente de desenvolvimento. Se encontrar algum problema, consulte a documentação oficial ou entre em contato com a equipe de suporte para obter assistência.
Converter arquivos CSV para TXT usando cURL
Você pode realizar a mesma conversão usando a API REST diretamente. As etapas abaixo mostram como obter um token de acesso, fazer upload do CSV, solicitar a conversão e baixar o arquivo TXT resultante.
- Obtenha um token de acesso
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"
- Carregar o arquivo 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
- Converter o CSV enviado para TXT
curl -X GET "https://api.aspose.cloud/v3.0/pdf/input.csv?format=txt" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.txt
- Excluir o arquivo CSV remoto (opcional)
curl -X DELETE "https://api.aspose.cloud/v3.0/pdf/storage/file/input.csv" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Para obter uma lista completa de parâmetros, veja a documentação oficial da API.
Instalando e Configurando Aspose.PDF Cloud SDK para Node.JS
Adicione a biblioteca ao seu projeto com npm e certifique‑se de que possui uma conta válida da Aspose Cloud.
npm install asposepdfcloud
Você também pode baixar o pacote diretamente da página de lançamento. A biblioteca requer Node.js 12 ou superior e uma assinatura ativa do Aspose Cloud.
Principais recursos do Aspose.PDF Cloud SDK para tarefas de CSV para TXT
- Integração com armazenamento em nuvem - Os arquivos são armazenados no Aspose Cloud, eliminando restrições de disco local.
- Conversão em tempo real - O método
getDocumentretorna um stream, permitindo o processamento imediato sem arquivos intermediários. - Suporte a async/await - Todas as operações retornam promessas, encaixando-se naturalmente em bases de código modernas do Node.JS.
- E/S em streaming - Uploads e downloads são transmitidos, mantendo o uso de memória baixo para arquivos CSV grandes.
- Suporte abrangente a formatos - Além de TXT, a mesma API pode converter para PDF, DOCX, HTML, e mais.
Ajustando Opções de Conversão de CSV para TXT
Embora a conversão básica exija apenas o formato de destino, você pode personalizar a solicitação com parâmetros adicionais, como o nome do armazenamento ou a localização da pasta. O método getDocument aceita um argumento folder (definido como null no exemplo) e um argumento storage se você usar um armazenamento personalizado.
Exemplo de especificação de um nome de armazenamento (trecho de código já usado no fluxo principal):
const convertResponse = await pdfApi.getDocument(remoteCsvPath, null, 'txt');
Para obter uma lista completa de parâmetros opcionais, consulte a referência da API.
Conclusão
Converter CSV para TXT em Node.JS torna-se simples com o Aspose.PDF Cloud SDK for Node.JS. A biblioteca lida com autenticação, armazenamento na nuvem e conversão em streaming, permitindo que você se concentre na lógica de negócios. Lembre‑se de revisar os detalhes de preços na página do produto e obter uma licença temporária na página de licença temporária para avaliação antes de passar para a produção. Com o código e os exemplos cURL neste guia, você pode integrar a conversão de CSV para TXT em qualquer aplicação Node.JS de forma rápida e confiável.
Perguntas Frequentes
Como converto CSV para TXT em Node.JS usando Aspose.PDF?
Use a biblioteca para fazer upload do CSV, chame getDocument com o formato 'txt' e faça streaming da resposta para um arquivo local. O exemplo completo de código acima mostra cada passo.
Qual método de autenticação a biblioteca usa?
Forneça seu ID de cliente e segredo do cliente; a biblioteca obtém um token OAuth automaticamente e o inclui em cada solicitação.
A conversão pode lidar com arquivos grandes de forma eficiente?
Sim. Tanto o upload quanto o download são transmitidos em streaming, portanto o processo funciona com arquivos CSV grandes sem carregar todo o conteúdo na memória.
Onde posso obter uma licença temporária para teste?
Uma licença temporária está disponível na página de licença temporária.