Les codes-barres jouent un rôle essentiel dans le suivi précis de l’inventaire et de la livraison des produits de la fabrication au point de vente. Dans certains cas, nous pouvons avoir besoin de lire des codes-barres à partir d’images par programmation. Nous pouvons facilement détecter, reconnaître et lire différents types de codes à barres et de codes QR dans les applications Java. Il aide à développer des applications de lecteur ou de scanner de codes-barres. Dans cet article, nous allons apprendre à lire un code-barres à partir d’une image en utilisant Java.
Les sujets suivants seront traités dans cet article :
- Qu’est-ce qu’un code-barres
- API Java pour lire le code-barres à partir de l’image
- Lire le code-barres d’une image
- Reconnaître le code-barres d’un type spécifique
- Lire plusieurs codes-barres à partir d’une image
- Obtenir les coordonnées X et Y du code-barres
- Lire le code-barres d’une région spécifique de l’image
Qu’est-ce qu’un code-barres
Un code-barres est un code lisible par machine qui représente des données codées sous la forme de nombres et d’un motif de lignes parallèles. L’image du code-barres montre une série de barres noires et blanches parallèles dont la largeur, l’espacement et la taille varient. Les lecteurs ou scanners de codes-barres scannent les images de codes-barres et décodent les informations.
API Java pour lire le code-barres à partir de l’image
Afin de lire les codes-barres à partir d’images dans les applications Java, nous utiliserons Aspose.BarCode for Java. Il s’agit d’une API riche en fonctionnalités qui vous permet de générer, numériser et lire un large éventail de symbologies de codes à barres. La classe BarCodeReader de l’API permet de lire les codes-barres. La méthode readBarCodes() de cette classe renvoie un tableau de barcodes reconnus. L’API permet de lire les codes-barres du DecodeType spécifié. La classe BarCodeResult de l’API stocke les données de code-barres reconnues telles que le type de code-barres, le texte du code, la région et d’autres paramètres.
Veuillez soit télécharger le JAR de l’API ou ajouter la configuration pom.xml suivante dans une application Java basée sur Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-barcode</artifactId>
<version>22.5</version>
</dependency>
Lire le code-barres d’une image en Java
Nous pouvons lire les codes-barres à partir d’une image en suivant les étapes ci-dessous :
- Tout d’abord, chargez une image à l’aide de la classe BarCodeReader.
- Obtenez les résultats de la reconnaissance dans l’objet de classe BarCodeResult à l’aide de la méthode readBarCodes().
- Enfin, parcourez les résultats et affichez le type et le texte du code-barres.
L’exemple de code suivant montre comment lire un code-barres à partir d’une image à l’aide de Java.
// Cet exemple de code montre comment lire un code-barres à partir d'une image.
// Le chemin d'accès au répertoire des images
String dataDir = "C:\\Files\\BarCode\\";
// Initialiser le lecteur de code-barres
BarCodeReader reader = new BarCodeReader(dataDir + "CodeText.jpg");
// Lire le code-barres et afficher les résultats
for (BarCodeResult result : reader.readBarCodes()) {
System.out.println("CodeText: " + result.getCodeText());
System.out.println("Symbology type: " + result.getCodeType());
}
Reconnaître le code-barres d’un type spécifique en Java
Nous pouvons lire un code-barres d’un type spécifique à partir d’une image en suivant les étapes ci-dessous :
- Tout d’abord, lisez les données du tampon d’un fichier image à l’aide de la méthode ImageIO.read().
- Ensuite, créez une instance de la classe BarCodeReader avec une image tamponnée et un type de décodage.
- Ensuite, définissez un type de décodage de code-barres pour lire le code-barres d’un type spécifique, tel que CODE39STANDARD.
- Après cela, obtenez les résultats de la reconnaissance dans l’objet de classe BarCodeResult à l’aide de la méthode readBarCodes().
- Enfin, parcourez les résultats et affichez le type et le texte du code-barres.
L’exemple de code suivant montre comment lire un code-barres d’un type spécifique à partir d’une image à l’aide de Java.
// Cet exemple de code montre comment lire le code-barres d'un type de décodage spécifique à partir d'une image.
// Le chemin d'accès au répertoire des images
String dataDir = "C:\\Files\\BarCode\\";
// Obtenez une image tamponnée
BufferedImage img = ImageIO.read(new File(dataDir + "CODE_39_STANDARD.jpg"));
// Initialiser le lecteur de code-barres
BarCodeReader reader = new BarCodeReader(img, DecodeType.CODE_39_STANDARD);
// Lire le code-barres de type Code39Extended
for (BarCodeResult result : reader.readBarCodes()) {
System.out.println("CodeText: " + result.getCodeText());
System.out.println("Symbology type: " + result.getCodeType());
}
Lire plusieurs codes-barres à partir d’une image en Java
Nous pouvons également lire tous les codes-barres disponibles à partir d’une image en suivant les étapes ci-dessous :
- Tout d’abord, chargez une image à l’aide de la classe BarCodeReader.
- Ensuite, définissez un type de décodage de code-barres sur ALLSUPPORTEDTYPES.
- Après cela, obtenez les résultats de la reconnaissance dans l’objet de classe BarCodeResult à l’aide de la méthode readBarCodes().
- Enfin, parcourez les résultats et affichez le type et le texte du code-barres.
L’exemple de code suivant montre comment lire plusieurs codes-barres à partir d’une image à l’aide de Java.
// Cet exemple de code montre comment lire plusieurs codes-barres à partir d'une image.
// Le chemin d'accès au répertoire des images
String dataDir = "C:\\Files\\BarCode\\";
// Initialiser le lecteur de code-barres
BarCodeReader reader = new BarCodeReader(dataDir + "MultipleBarcodes.png", DecodeType.ALL_SUPPORTED_TYPES);
// Lire tous les types de code-barres disponibles sur l'image d'entrée
for (BarCodeResult result : reader.readBarCodes()) {
System.out.println("CodeText: " + result.getCodeText());
System.out.println("Symbology type: " + result.getCodeType());
System.out.println("-------------------------");
}
Obtenir les coordonnées X et Y du code-barres à l’aide de Java
Nous pouvons lire les coordonnées X et Y du code-barres détecté à partir d’une image en suivant les étapes ci-dessous :
- Tout d’abord, chargez une image à l’aide de la classe BarCodeReader.
- Ensuite, obtenez les résultats de la reconnaissance dans l’objet de classe BarCodeResult à l’aide de la méthode readBarCodes().
- Ensuite, parcourez les résultats et vérifiez si getRegion() n’est pas nul.
- Après cela, récupérez le tableau Points délimitant la région du code-barres à l’aide de getPoints().
- Enfin, affichez les points X et Y du code-barres.
L’exemple de code suivant montre comment obtenir les points de coordonnées X et Y d’un code-barres à partir d’une image à l’aide de Java.
// Cet exemple de code montre comment lire les points de région X et Y des codes-barres à partir d'une image.
// Le chemin d'accès au répertoire des images
String dataDir = "C:\\Files\\BarCode\\";
// Initialiser le lecteur de code-barres
BarCodeReader reader = new BarCodeReader(dataDir + "Code39Std.png", DecodeType.ALL_SUPPORTED_TYPES);
// Lire le code-barres
for (BarCodeResult result : reader.readBarCodes()) {
if (result.getRegion() != null) {
// Afficher les coordonnées x et y de tous les codes-barres détectés
Point[] point = result.getRegion().getPoints();
System.out.println("Top left coordinates: X = " + point[0].x + ", Y = " + point[0].y);
System.out.println("Bottom left coordinates: X = " + point[1].x + ", Y = " + point[1].y);
System.out.println("Bottom right coordinates: X = " + point[2].x + ", Y = " + point[2].y);
System.out.println("Top right coordinates: X = " + point[3].x + ", Y = " + point[3].y);
}
}
Lire le code-barres d’une région spécifique de l’image en Java
Nous pouvons lire un code-barres d’une région spécifique ou d’une zone d’une image en suivant les étapes ci-dessous :
- Tout d’abord, lisez les données du tampon d’un fichier image à l’aide de la méthode ImageIO.read().
- Ensuite, créez une instance de la classe BarCodeReader. Il prend une image tamponnée, une zone rectangulaire et un type de décodage comme arguments.
- Après cela, obtenez les résultats de la reconnaissance dans l’objet de classe BarCodeResult à l’aide de la méthode readBarCodes().
- Enfin, parcourez les résultats et affichez le type et le texte du code-barres.
L’exemple de code suivant montre comment lire un code-barres à partir d’une région spécifique d’une image à l’aide de Java.
// Cet exemple de code montre comment lire le code-barres d'une région spécifique d'une image.
// Le chemin d'accès au répertoire des images
String dataDir = "C:\\Files\\BarCode\\";
// Obtenir une image tamponnée
java.awt.image.BufferedImage img = javax.imageio.ImageIO.read(new java.io.File(dataDir + "specificRegion.png"));
// Créer une instance de la classe BarCodeReader
// et spécifiez une zone pour rechercher le code-barres
BarCodeReader reader = new BarCodeReader(img, new Rectangle(0, 0, 700, 100), DecodeType.ALL_SUPPORTED_TYPES);
// Lire tous les codes-barres dans la zone prévue
for (BarCodeResult result : reader.readBarCodes()) {
System.out.println("CodeText: " + result.getCodeText());
System.out.println("Symbology type: " + result.getCodeType());
}
Obtenez une licence gratuite
Vous pouvez obtenir une licence temporaire gratuite pour essayer la bibliothèque sans limitation d’évaluation.
Conclusion
Dans cet article, nous avons appris à :
- Charger l’image du code-barres par programmation ;
- reconnaître des codes-barres de différents types à partir d’une image ;
- lire les coordonnées du code-barres en Java ;
- détecter et lire plusieurs codes-barres à partir d’une seule image ;
- détecter et lire les codes-barres d’une zone spécifique d’une image.
En outre, vous pouvez en savoir plus sur l’API Aspose.BarCode for Java en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.