Comment lire les codes-barres à partir d'images GIF et TIFF multipages en C#

Comment lire des BarCodes à partir de plusieurs pages GIF & TIFF en C#

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronBarcode traite automatiquement les fichiers TIFF et GIF animés multipages sans séparation manuelle des images, en utilisant un seul appel de méthode BarcodeReader.Read pour extraire tous les codes-barres de chaque image ou page du fichier image.

Démarrage rapide : Lecture de codes-barres entièrement à partir de fichiers TIFF ou GIF multipages

IronBarcode charge des fichiers TIFF ou GIF animés multipages et extrait tous les codes-barres en un seul appel de méthode. Pas de découpage de trame ni de prétraitement manuel - transmettez le chemin du fichier à BarcodeReader.Read pour des résultats rapides.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronBarcode avec le gestionnaire de packages NuGet

    PM > Install-Package BarCode

  2. Copiez et exécutez cet extrait de code.

    IronBarCode.BarcodeResults results = IronBarCode.BarcodeReader.Read("multiPageImage.tiff");
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronBarcode dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer

Comment lire des images GIF et TIFF multiframe?

<TODO : Ajouter une image ici -->

Lire les images GIF et TIFF multi-images avec IronBarcode est aussi simple que de lire une seule image, car IronBarcode accepte facilement les fichiers image multipages dans la méthode BarcodeReader.Read. Vous n'avez pas besoin de préparer les images car tout le traitement est internalisé dans la bibliothèque. Pour un aperçu complet des capacités d'IronBarcode, consultez notre page des caractéristiques.

Pourquoi IronBarcode gère-t-il automatiquement les images multiframes?

IronBarcode gère automatiquement les images multiframes pour simplifier votre flux de travail. Les bibliothèques de lecture de codes-barres traditionnelles nécessitent souvent d'extraire des images individuelles des animations GIF ou de séparer les pages des fichiers TIFF avant de les traiter. La traduction doit rester professionnelle et préserver l'exactitude technique tout en expliquant les caractéristiques et les avantages de ces outils de développement. La détection intelligente des cadres d'IronBarcode élimine ce fardeau en analysant en interne la structure de l'image et en itérant à travers chaque cadre ou page automatiquement. Cette approche garantit des résultats cohérents quel que soit le nombre d'images, tout en maintenant des performances élevées grâce à une gestion optimisée de la mémoire.

L'exemple de code ci-dessous illustre la lecture de fichiers GIF et TIFF multipages :

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-multi-page-frame-tiff-gif-read-tif.cs
using IronBarCode;
using System;

// Read barcode from TIF image
BarcodeResults results = BarcodeReader.Read("sample.tif");

// Output the barcodes value to console
foreach (var result in results)
{
    Console.WriteLine(result.Value);
}
$vbLabelText   $csharpLabel

Quels sont les formats d'image pris en charge pour la lecture multipage ?

Les capacités de lecture multipage d'IronBarcode vont au-delà des formats GIF et TIFF. La bibliothèque prend en charge tous les formats d'image standard, notamment JPEG, PNG, BMP et SVG pour les images d'une seule page. Pour la prise en charge de pages multiples en particulier, les formats TIFF et GIF animé sont les principaux. Le format TIFF est particulièrement polyvalent car il permet de stocker plusieurs images en pleine résolution avec différentes méthodes de compression, ce qui le rend idéal pour les scénarios de numérisation de documents. Les GIF animés, bien que limités à 256 couleurs, excellent dans le stockage de plusieurs trames de codes-barres dans un format compact et convivial pour le web. Pour des besoins spécialisés, vous pouvez également lire des codes-barres à partir de documents PDF qui contiennent souvent plusieurs pages avec des codes-barres intégrés.

Quand dois-je utiliser des images multiframes pour la lecture de codes-barres?

Les images multiframes sont idéales pour plusieurs scénarios commerciaux. Les systèmes de gestion documentaire utilisent des fichiers TIFF multipages en standard pour stocker des factures numérisées, des documents d'expédition ou des formulaires dont chaque page peut contenir différents codes-barres. Les opérations de fabrication et de logistique utilisent souvent des GIF animés pour créer des flux de travail visuels montrant plusieurs états de codes-barres ou des instructions de numérisation séquentielles. Les applications de traitement par lots bénéficient des formats multiframes car ils réduisent les frais généraux de gestion des fichiers : au lieu de traiter des centaines de fichiers d'images individuels, vous travaillez avec un seul fichier multiframe. En outre, lors de la mise en œuvre de lecture de codes-barres à partir de flux, les formats multiframes peuvent réduire considérablement l'allocation de mémoire et améliorer les performances.

Comment convertir des images au format GIF et TIFF?

<TODO : Ajouter une image ici -->

Apprenez à convertir des images en TIFF et GIF multipages à l'aide de notre bibliothèque open-source, IronDrawing. L'exemple de code ci-dessous montre comment générer des images GIF ou TIFF multipages. Cette capacité est particulièrement utile lorsqu'il s'agit de consolider plusieurs images de codes-barres provenant de diverses sources en un seul fichier pour un traitement efficace.

Quel est le processus de création de fichiers TIFF multiframe?

La création de fichiers TIFF multiframe consiste à combiner plusieurs sources d'images dans un seul conteneur TIFF. Commencez par charger des images individuelles dans la mémoire en tant qu'objets bitmap. La classe AnyBitmap d'IronDrawing fournit une interface unifiée pour gérer différents formats d'image, en gérant automatiquement les conversions de format et en assurant la compatibilité. Lors de la création du TIFF multiframe, la bibliothèque optimise les paramètres de compression afin d'équilibrer la taille du fichier et la qualité de l'image, ce qui est crucial pour maintenir la lisibilité des codes-barres.

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-multi-page-frame-tiff-gif-create-tiff-gif.cs
using IronBarCode;
using IronSoftware.Drawing;
using System.Collections.Generic;

// Import images
List<AnyBitmap> images = new List<AnyBitmap>()
{
    AnyBitmap.FromFile("image1.png"),
    AnyBitmap.FromFile("image2.png"),
    AnyBitmap.FromFile("image3.png"),
    AnyBitmap.FromFile("image4.jpg"),
    AnyBitmap.FromFile("image5.jpg")
};

// Convert TIFF from images
AnyBitmap tiffImage = AnyBitmap.CreateMultiFrameTiff(images);

// Export TIFF
tiffImage.SaveAs("multiframetiff.tiff");

// Convert GIF from images
AnyBitmap gifImage = AnyBitmap.CreateMultiFrameGif(images);

// Export GIF
gifImage.SaveAs("multiframegif1.gif");
$vbLabelText   $csharpLabel

Dans l'extrait de code ci-dessus, nous commençons par regrouper les fichiers d'images en les important dans une liste d'objets AnyBitmap. Utilisez cette liste comme paramètre lorsque vous appelez les méthodes AnyBitmap.CreateMultiFrameTiff et AnyBitmap.CreateMultiFrameGif pour obtenir les objets TIFF multipage et GIF multipage, respectivement.

Quelle est la différence entre les formats GIF et TIFF pour le stockage des codes-barres?

Les formats GIF et TIFF multipage permettent tous deux de regrouper des images dans un seul fichier, mais ils diffèrent considérablement :

Aspect GIF multipages TIFF multi-pages
Compression Les images GIF utilisent une compression sans perte, ce qui signifie qu'aucune donnée d'image n'est perdue lors de la compression. Il en résulte des fichiers relativement plus volumineux que les formats utilisant une compression avec perte. Les fichiers TIFF peuvent utiliser différentes méthodes de compression, notamment la compression sans perte (comme LZW) et la compression avec perte (comme JPEG). Cette flexibilité permet aux fichiers TIFF d'offrir un compromis entre la taille du fichier et la qualité de l'image.
Profondeur de couleur Le format GIF prend en charge jusqu'à 256 couleurs (profondeur de couleur de 8 bits), ce qui est limité par rapport à d'autres formats. Cette palette de couleurs restreinte peut entraîner une perte de détails et de précision des couleurs, notamment pour les photographies et les images comportant des dégradés. Le format TIFF prend en charge différentes profondeurs de couleur, notamment 1 bit (binaire), 8 bits (256 couleurs), 24 bits (couleurs réelles), et plus encore. Cette flexibilité permet au format TIFF de stocker des images avec différents niveaux de détail des couleurs.
Transparence Le format GIF prend en charge la transparence binaire, ce qui signifie qu'une seule couleur peut être totalement transparente, tandis que les autres sont totalement opaques. Cette absence de transparence partielle peut parfois entraîner des contours irréguliers dans les images présentant des transitions fluides. Le format TIFF prend en charge plusieurs formes de transparence, notamment la transparence binaire (similaire au GIF) et la transparence par canal alpha. Cette dernière permet des transitions douces et des pixels semi-transparents, offrant ainsi des effets de transparence de haute qualité.
Animation Le format GIF permet de créer des animations simples en combinant plusieurs images dans un seul fichier. Chaque image peut avoir son propre délai, créant ainsi une forme d'animation basique. Les animations GIF sont largement répandues sur le web. Le format TIFF n'est pas conçu principalement pour les animations. Bien qu'il puisse stocker plusieurs images, il ne prend pas en charge nativement l'animation comme le format GIF. Chaque page d'un fichier TIFF multipage correspond généralement à une image distincte et non à une image d'une séquence d'animation.

Quel format dois-je choisir pour les images de codes-barres multipages?

Choisissez entre GIF et TIFF en fonction de votre cas d'utilisation spécifique. Choisissez le format TIFF lorsque vous travaillez avec des images de codes-barres à haute résolution qui nécessitent une préservation précise des détails, comme dans les applications d'archivage de documents ou de numérisation professionnelle. La prise en charge par le format TIFF de diverses méthodes de compression et profondeurs de couleur en fait un format idéal pour maintenir la qualité des codes-barres de différents types, y compris ceux comportant des détails fins comme les codes Data Matrix 2D.

Choisissez le format GIF lorsque la taille du fichier est importante et que vos codes-barres sont des formats linéaires simples tels que Code 39 ou Code 128. La large compatibilité du format GIF avec le web le rend adapté aux applications en ligne où les utilisateurs peuvent prévisualiser les séquences de codes-barres. Cependant, évitez le GIF pour les codes QR complexes ou les codes-barres avec des dégradés de couleurs, car la limitation à 256 couleurs peut nuire à la lisibilité.

Quelles sont les considérations relatives à la taille des fichiers ?

La taille des fichiers varie considérablement d'un format à l'autre et a une incidence sur la vitesse de stockage, de transmission et de traitement. Les fichiers TIFF avec compression sans perte sont généralement compris entre 10 et 50 Ko par image de code-barres à 300 DPI, ce qui convient à une qualité d'archivage. Grâce à la compression JPEG au sein du format TIFF, les tailles peuvent être réduites de 70 à 80 % tout en conservant une lisibilité acceptable des codes-barres. Les fichiers GIF sont généralement plus petits, avec une moyenne de 5 à 15 Ko par image pour les codes-barres standard, en raison de leur palette de couleurs limitée. Lors de la mise en œuvre de la lecture de codes-barres avec des exigences de performance spécifiques, considérez que les fichiers plus petits se traitent plus rapidement, mais peuvent sacrifier la précision dans les cas marginaux.

Comment configurer les options avancées de lecture des BarCodes?

<TODO : Ajouter une image ici -->

Bien qu'IronBarcode fonctionne directement dès l'ouverture de la boîte, certaines images peuvent nécessiter la configuration de la classe BarcodeReaderOptions pour obtenir une lecture de code-barres précise et rapide. Retrouvez plus d'informations sur cette classe dans l'article 'How to read BarCodes from Image Files (jpg, png, gif, tiff, svg, bmp)'. Pour une documentation détaillée sur l'API, consultez la référence BarcodeReaderOptions.

Quand dois-je utiliser des filtres d'image pour une meilleure précision ?

Les filtres d'image deviennent essentiels lorsqu'il s'agit de traiter une qualité d'image sous-optimale - un scénario courant avec les fichiers multiframes dont la qualité peut varier d'une image à l'autre. Appliquez des filtres lorsque les codes-barres apparaissent flous en raison des limites du scanner, présentent un faible contraste dû à de mauvaises conditions d'éclairage ou contiennent du bruit dû à des artefacts de compression. Les fonctions de correction d'image dans IronBarcode comprennent le seuillage adaptatif pour les conditions de luminosité variables, les filtres d'accentuation pour le flou de mouvement et l'amélioration du contraste pour les impressions délavées. Pour les fichiers multiframes, les filtres sont particulièrement utiles car ils compensent les variations de qualité entre les images sans intervention manuelle.

L'extrait de code ci-dessous illustre la configuration des propriétés de la classe BarcodeReaderOptions :

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-multi-page-frame-tiff-gif-advance.cs
using IronBarCode;
using System;

// Configure filters
ImageFilterCollection filters = new ImageFilterCollection()
{
    new SharpenFilter(3.5f),
    new ContrastFilter(2)
};

// Configure options
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = IronBarCode.BarcodeEncoding.QRCode,
    ImageFilters = filters,
    ExpectMultipleBarcodes = true,
    Speed = ReadingSpeed.Balanced
};

// Read barcode from TIF image
BarcodeResults results = BarcodeReader.Read("sample.tif", options);

// Output the barcodes value to console
foreach (var result in results)
{
    Console.WriteLine(result.Value);
}
$vbLabelText   $csharpLabel

Quels paramètres de performance dois-je utiliser pour les fichiers multipages ?

L'optimisation des performances pour les fichiers multipages nécessite de trouver un équilibre entre vitesse et précision en fonction de vos besoins. Pour le traitement de gros volumes où la vitesse est essentielle, utilisez ReadingSpeed.Faster ou ReadingSpeed.Fastest, qui réduit la minutie de la numérisation mais améliore considérablement le débit - idéal pour les codes-barres bien imprimés dans des environnements contrôlés. Pour les applications critiques où la précision est primordiale, ReadingSpeed.Detailed garantit un taux de détection maximal au détriment du temps de traitement. Le paramètre ReadingSpeed.Balanced offre une solution intermédiaire optimale pour la plupart des applications commerciales. Lors du traitement de fichiers multipages, pensez à mettre en œuvre des modèles de lecture asynchrones pour traiter les trames en parallèle, ce qui améliore considérablement le débit global.

Comment optimiser la vitesse de lecture par rapport à la précision ?

L'optimisation du compromis vitesse/précision implique plusieurs configurations stratégiques. Tout d'abord, spécifiez les types de codes-barres attendus à l'aide de ExpectBarcodeTypes afin d'éliminer les vérifications de format inutiles - cette seule mesure peut améliorer la vitesse de 40 à 60 %. Deuxièmement, utilisez des régions de recadrage lorsque les codes-barres apparaissent à des emplacements cohérents d'une image à l'autre, réduisant ainsi la zone de recherche. Troisièmement, ajustez la propriété MaxParallelThreads pour qu'elle corresponde aux capacités de votre processeur afin d'optimiser le traitement parallèle des images. Pour optimiser la précision, activez ExpectMultipleBarcodes lorsque les cadres sont susceptibles de contenir plusieurs codes-barres, et appliquez les filtres d'image appropriés en fonction des caractéristiques de votre image. La fonction de seuil de confiance ML permet également de filtrer les faux positifs dans les images complexes.

Quelles sont les étapes de dépannage courantes en cas d'échec de lecture ?

Lorsque vous rencontrez des échecs de lecture avec des fichiers multiframes, suivez cette approche systématique. Tout d'abord, vérifiez la qualité des images individuelles en les extrayant et en les testant. Si des images individuelles sont défaillantes, le problème n'est pas spécifique aux images multiples. Vérifiez la présence de problèmes de reconnaissance courants tels que des zones silencieuses insuffisantes, des BarCodes de travers ou des symboles endommagés. Activez le mode TryHarder pour les codes-barres difficiles, bien que cela augmente le temps de traitement. Pour les problèmes persistants, mettez en œuvre la correction de l'orientation de l'image car les codes-barres tournés sont une cause fréquente d'échec. Envisagez d'ajuster la résolution - les codes-barres se lisent généralement mieux à 200-300 DPI, avec des rendements décroissants au-delà de 400 DPI. Si des problèmes persistent avec des types de BarCode spécifiques, consultez la documentation sur les formats pris en charge pour vous assurer de la compatibilité.

Bien que la définition de l'objet BarcodeReaderOptions soit optionnelle pour la plupart des cas d'utilisation, elle permet de tirer le meilleur parti d'IronBarcode lors de la lecture de codes-barres à partir de fichiers d'images GIF et TIFF multipages. Pour les environnements de production, commencez par les paramètres par défaut et optimisez progressivement en fonction de vos mesures de performance spécifiques et de vos exigences en matière de précision.

Questions Fréquemment Posées

Comment lire des codes-barres à partir de fichiers TIFF multipages en C# ?

Avec IronBarcode, vous pouvez lire des codes-barres à partir de fichiers TIFF multipages à l'aide d'un seul appel de méthode : BarcodeReader.Read("multiPageImage.tiff"). IronBarcode traite automatiquement chaque page du fichier TIFF sans nécessiter de séparation manuelle des images ou de prétraitement.

Puis-je extraire des codes-barres de fichiers GIF animés ?

Oui, IronBarcode extrait automatiquement les codes-barres de toutes les images des fichiers GIF animés. Il suffit de transmettre le chemin du fichier GIF à la méthode BarcodeReader.Read, et IronBarcode analysera en interne chaque image pour détecter et lire tous les codes-barres présents.

Dois-je diviser manuellement les cadres avant de lire des codes-barres à partir d'images multipages ?

Non, IronBarcode élimine la nécessité de diviser manuellement les cadres. La détection intelligente des cadres de la bibliothèque analyse automatiquement la structure de l'image et itère à travers chaque cadre ou page en interne, ce qui simplifie votre flux de travail et réduit les points de défaillance potentiels.

Quels formats d'image prennent en charge la lecture de codes-barres multipages ?

IronBarcode prend en charge la lecture de codes-barres multipages principalement pour les formats TIFF et GIF animé. Bien que la bibliothèque prenne également en charge les formats à page unique tels que JPEG, PNG, BMP et SVG, les formats TIFF et GIF sont spécifiquement optimisés pour le traitement de pages multiples avec détection automatique des images.

Combien d'étapes sont nécessaires pour lire des BarCodes à partir d'images multipages ?

IronBarcode ne nécessite que 5 étapes simples : téléchargez la bibliothèque C#, préparez vos images GIF et TIFF, passez-les à la méthode Read, appliquez éventuellement des filtres d'image pour une meilleure précision, et convertissez les images au format multi-images si nécessaire.

Pourquoi le format TIFF est-il particulièrement adapté à la lecture de codes-barres multipages ?

Le format TIFF est idéal pour les scénarios de numérisation de documents avec IronBarcode, car il stocke plusieurs images en pleine résolution avec diverses méthodes de compression. Cette polyvalence rend le format TIFF particulièrement efficace pour traiter les documents numérisés contenant des codes-barres sur plusieurs pages.

Hairil Hasyimi Bin Omar
Ingénieur logiciel
Comme tous les grands ingénieurs, Hairil est un apprenant avide. Il affine ses connaissances en C#, Python et Java, utilisant ces connaissances pour apporter de la valeur aux membres de l'équipe dans toute Iron Software. Hairil a rejoint l'équipe d'Iron Software depuis l'Université Teknologi MARA en Malaisie, ...
Lire la suite
Prêt à commencer?
Nuget Téléchargements 2,035,202 | Version : 2025.12 vient de sortir