Convertir des données en texte brut en un fichier CSV structuré est un besoin fréquent pour les pipelines de données, en particulier lors du traitement de journaux ou d’exports hérités. Aspose.BarCode Cloud SDK for PHP fournit une bibliothèque robuste qui s’exécute sur votre serveur et ne nécessite aucun utilitaire externe. Ce guide montre comment réaliser la conversion TXT vers CSV sans outils externes en PHP, offrant une solution efficace en mémoire qui lit et écrit les flux directement. Vous verrez également un exemple rapide de génération de code‑barres illustrant les capacités principales du SDK.
Étapes pour convertir TXT en CSV sans outils externes en PHP
-
Installez le SDK via Composer : Exécutez la commande d’installation officielle pour ajouter la bibliothèque à votre projet.
composer require aspose/barcode-cloud-php -
Configurer les informations d’identification du client : Créez un objet
Configurationet définissez votreAppSidet votreAppKey.
$config = new Configuration();
$config->setAppSid('YOUR_CLIENT_ID');
$config->setAppKey('YOUR_CLIENT_SECRET');
$config->setHost('https://api.aspose.cloud');
$barcodeApi = new BarCodeApi($config);
Reportez‑vous à la référence de l’API pour une documentation détaillée des classes.
-
Ouvrez le fichier TXT source avec SplFileObject : Cette classe lit le fichier ligne par ligne, en maintenant une faible utilisation de la mémoire.
$txtFile = new SplFileObject($inputTxtPath, 'r'); $txtFile->setFlags( SplFileObject::READ_AHEAD | SplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE ); -
Créer le flux de sortie CSV et définir le délimiteur utilisé dans le fichier TXT (par ex., tab).
$csvHandle = fopen($outputCsvPath, 'w');
$txtDelimiter = "\t";
- Traitez chaque ligne, séparez les champs et écrivez dans le CSV. La boucle ignore les lignes vides et supprime les espaces blancs.
while (!$txtFile->eof()) {
$rawLine = $txtFile->fgets();
if ($rawLine === false) {
continue;
}
$line = trim($rawLine);
if ($line === '') {
continue;
}
$fields = explode($txtDelimiter, $line);
fputcsv($csvHandle, $fields);
}
- Nettoyer les ressources et éventuellement générer un code‑barres d’exemple pour illustrer l’utilisation du SDK.
fclose($csvHandle);
$txtFile = null;
$barcodeRequest = new GenerateBarcodeRequest([
'text' => 'Sample',
'type' => 'Code128',
'format' => 'png',
'out_path' => __DIR__ . '/sample_barcode.png'
]);
try {
$barcodeApi->generateBarcode($barcodeRequest);
} catch (Exception $e) {
error_log('Barcode generation error: ' . $e->getMessage());
}
En suivant ces étapes, vous obtenez une conversion pure‑PHP TXT en CSV qui évite tout outil externe ou fichier intermédiaire.
Exemple complet de code : TXT vers CSV sans outils externes en PHP avec l’API Barcode
L’exemple ci-dessous contient l’implémentation complète décrite dans les étapes. Il lit un fichier TXT d’entrée, écrit une sortie CSV et montre un appel simple de génération de code-barres.
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Aspose\BarCode\Cloud\BarCodeApi;
use Aspose\BarCode\Cloud\Configuration;
use Aspose\BarCode\Cloud\Model\Requests\GenerateBarcodeRequest;
// -------------------------------------------------
// Aspose.BarCode Cloud SDK initialization (demo)
// -------------------------------------------------
$config = new Configuration();
$config->setAppSid('YOUR_CLIENT_ID'); // replace with your client id
$config->setAppKey('YOUR_CLIENT_SECRET'); // replace with your client secret
$config->setHost('https://api.aspose.cloud');
$barcodeApi = new BarCodeApi($config);
// -------------------------------------------------
// File paths (adjust as needed)
// -------------------------------------------------
$inputTxtPath = __DIR__ . '/input.txt';
$outputCsvPath = __DIR__ . '/output.csv';
// -------------------------------------------------
// Open TXT file with SplFileObject for low memory usage
// -------------------------------------------------
$txtFile = new SplFileObject($inputTxtPath, 'r');
$txtFile->setFlags(
SplFileObject::READ_AHEAD |
SplFileObject::SKIP_EMPTY |
SplFileObject::DROP_NEW_LINE
);
// -------------------------------------------------
// Open CSV output stream
// -------------------------------------------------
$csvHandle = fopen($outputCsvPath, 'w');
if ($csvHandle === false) {
throw new RuntimeException('Unable to open CSV output file.');
}
// -------------------------------------------------
// Define the delimiter used in the TXT file (e.g., tab)
// -------------------------------------------------
$txtDelimiter = "\t";
// -------------------------------------------------
// Process each line: split and write to CSV
// -------------------------------------------------
while (!$txtFile->eof()) {
$rawLine = $txtFile->fgets();
if ($rawLine === false) {
continue;
}
$line = trim($rawLine);
if ($line === '') {
continue;
}
$fields = explode($txtDelimiter, $line);
fputcsv($csvHandle, $fields);
}
// -------------------------------------------------
// Cleanup resources
// -------------------------------------------------
fclose($csvHandle);
$txtFile = null;
// -------------------------------------------------
// Optional: generate a sample barcode to show SDK usage
// -------------------------------------------------
$barcodeRequest = new GenerateBarcodeRequest([
'text' => 'Sample',
'type' => 'Code128',
'format' => 'png',
'out_path' => __DIR__ . '/sample_barcode.png'
]);
try {
$barcodeApi->generateBarcode($barcodeRequest);
} catch (Exception $e) {
error_log('Barcode generation error: ' . $e->getMessage());
}
?>
Remarque : Cet exemple de code démontre la fonctionnalité principale. Avant de l’utiliser dans votre projet, assurez‑vous de mettre à jour les chemins de fichiers (
input.txt,output.csv, etc.) pour qu’ils correspondent à vos emplacements réels, vérifiez que toutes les dépendances requises sont correctement installées et testez soigneusement dans votre environnement de développement. Si vous rencontrez des problèmes, veuillez consulter la documentation officielle ou contacter l’équipe de support pour obtenir de l’aide.
Conversion d’API REST de fichiers TXT en CSV via cURL
La même conversion peut être effectuée via l’API REST Aspose.BarCode Cloud. Voici un flux de travail typique utilisant cURL.
- Obtenez un jeton d’accès (remplacez les espaces réservés par vos informations d’identification).
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"
- Téléverser le fichier source TXT vers le stockage cloud.
curl -X PUT "https://api.aspose.cloud/v3.0/storage/file/input.txt" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: text/plain" \
--data-binary @input.txt
- Invitez un point de terminaison de conversion personnalisé (hypothétique) qui lit le fichier TXT téléchargé et renvoie le contenu CSV.
curl -X POST "https://api.aspose.cloud/v3.0/barcode/convert/txt-to-csv" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"inputPath":"input.txt","outputPath":"output.csv","delimiter":"\\t"}'
- Télécharger le fichier CSV résultant.
curl -X GET "https://api.aspose.cloud/v3.0/storage/file/output.csv" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -o output.csv
Pour le contrat d’API exact, consultez la documentation officielle de l’API.
Préparer l’environnement pour Aspose.BarCode Cloud PHP
-
Installez la bibliothèque en utilisant Composer :
composer require aspose/barcode-cloud-php -
Téléchargez la dernière version si vous préférez une installation manuelle :
https://releases.aspose.cloud/barcode/php/ -
Prérequis : PHP 7.4 ou version ultérieure, un compte Aspose Cloud valide et les informations d’identification du client (
AppSidetAppKey). -
Configurer le chargement automatique (géré automatiquement par Composer). Aucune étape supplémentaire n’est requise.
Aspose.BarCode Cloud PHP Capacités Qui Comptent pour TXT vers CSV
- Traitement Cloud Haute Performance - Toutes les opérations de code‑barres s’exécutent sur les serveurs Aspose, libérant votre environnement d’exécution PHP d’un travail intensif du CPU.
- Large Support de Symbologie - Plus de 150 types de codes‑barres, utile lorsque vous devez intégrer des codes‑barres dans la sortie CSV pour une numérisation en aval.
- Intégration de Stockage Cloud Sécurisée - Lecture et écriture directes vers le stockage Aspose Cloud, simplifiant la gestion des fichiers pour de grands ensembles de données.
- API REST Complète - Permet des appels indépendants du langage, comme démontré dans la section cURL.
- Documentation Détaillée - Des guides complets et du matériel de référence sont disponibles sur le site de documentation.
Configuration des options de conversion pour le traitement TXT en PHP pur
Vous pouvez ajuster le comportement de conversion en modifiant quelques variables :
-
Délimiteur - Modifiez
$txtDelimiterpour qu’il corresponde à votre fichier source (virgule, barre verticale, etc.).$txtDelimiter = ","; -
Encodage - Utilisez
mb_convert_encodingsi votre fichier TXT utilise un jeu de caractères différent.
$line = mb_convert_encoding($line, 'UTF-8', 'ISO-8859-1');
-
CSV Enclosure - Passez des paramètres supplémentaires à
fputcsvpour contrôler les guillemets.fputcsv($csvHandle, $fields, $delimiter = ',', $enclosure = '"'); -
Gestion des erreurs - Enveloppez les opérations de fichier dans des blocs try‑catch pour capturer les exceptions d’E/S.
Pour une liste complète des propriétés de configuration, consultez la référence API.
Conclusion
Convertir du TXT en CSV sans outils externes en PHP est simple lorsque vous exploitez le Aspose.BarCode Cloud SDK for PHP. En utilisant SplFileObject, vous maintenez une utilisation minimale de la mémoire, et les fonctionnalités de code‑barres basées sur le cloud du SDK vous permettent d’enrichir votre sortie CSV si nécessaire. L’exemple de code fourni et le flux de travail cURL vous offrent deux méthodes flexibles pour intégrer cette fonctionnalité dans n’importe quelle application PHP. N’oubliez pas d’obtenir une licence appropriée pour une utilisation en production ; les détails de tarification sont disponibles sur la page produit, et une licence temporaire peut être demandée depuis la page de licence temporaire. Commencez à intégrer dès aujourd’hui et rationalisez vos pipelines de données en toute confiance.
FAQ
-
Comment implémenter la conversion de TXT en CSV sans outils externes en PHP en utilisant Aspose.BarCode Cloud SDK ?
Suivez le guide étape par étape ci‑dessus : installez le SDK, configurez les informations d’identification, lisez le fichier TXT avecSplFileObject, divisez chaque ligne à l’aide de votre délimiteur, et écrivez les lignes avecfputcsv. Le code complet est fourni dans la section Exemple de code complet. -
Puis-je changer le délimiteur pour différents formats TXT ?
Oui. Modifiez la variable$txtDelimiterdans le script pour qu’elle corresponde au caractère qui sépare les champs dans votre fichier source (par exemple,","pour les virgules ou"|"pour les barres verticales). -
Et si mon fichier TXT contient des caractères Unicode ?
Assurez‑vous que le fichier est enregistré en UTF‑8. Si vous devez le convertir depuis un autre encodage, utilisezmb_convert_encodingsur chaque ligne avant de la diviser. -
Une étape de génération de code-barres est‑elle requise pour la conversion de TXT en CSV ?
Non, la génération de code-barres est facultative et ne sert qu’à démontrer comment le même SDK peut être utilisé pour des tâches supplémentaires. Vous pouvez omettre la section du code-barres si vous avez uniquement besoin d’une sortie CSV.