Les codes-barres sont des images sous forme de lignes parallèles, de points ou de rectangles avec des données/informations codées. Les professionnels de l’industrie intègrent et accèdent aux informations sur les produits, suivent le mouvement des produits et suivent l’inventaire à l’aide de codes-barres. Dans certains cas, nous pouvons avoir besoin de générer et d’ajouter des codes-barres dans des documents MS Word. MS Word est le programme de traitement de texte graphique le plus populaire et le plus utilisé. Il est utilisé pour créer de nouveaux documents avec du texte, des images ou des graphiques, rédiger des rédactions de qualité professionnelle, éditer et formater les documents existants, etc. Les DOCX et DOC sont les formats de fichiers pris en charge par MS Word. Dans cet article, nous allons apprendre à créer un code-barres dans des documents Word par programmation à l’aide de C#.
Les sujets suivants seront traités dans cet article :
- API C# pour créer un code-barres dans des documents Word
- Générer et ajouter un code-barres au document Word
- Ajouter un code-barres à un document Word existant
- Ajouter un code QR au document Word
- Lire le code-barres à partir d’un document Word
API C# pour créer un code-barres dans des documents Word
Pour générer un code-barres et ajouter une image de code-barres aux documents Word, nous suivrons une procédure en deux étapes. Tout d’abord, nous utiliserons l’API Aspose.Words for .NET pour créer ou charger un document Word, puis nous générerons et ajouterons l’image du code-barres au document à l’aide de Aspose.BarCode for .NET API. La classe Document de l’API Aspose.Words for .NET permet de créer un nouveau document Word ou de charger un fichier Word existant dans l’application. La méthode Save() de cette classe enregistre le document sur le chemin de fichier donné. La classe DocumentBuilder de l’API fournit des méthodes pour créer un document. Il fournit diverses méthodes InsertImage() surchargées pour insérer une image dans le document.
L’API Aspose.BarCode for .NET permet de générer différents types de codes-barres pris en charge. À cette fin, il fournit la classe BarcodeGenerator pour générer le code-barres du EncodeType spécifié. Nous pouvons enregistrer l’image de code-barres générée à l’aide de la méthode Save() de cette classe. L’API fournit également l’énumération BarCodeImageFormat pour spécifier les formats d’enregistrement. Nous pouvons lire le code-barres à partir d’images en utilisant la classe BarCodeReader de l’API.
Veuillez soit télécharger les DLL des API ou les installer à l’aide de NuGet.
PM> Install-Package Aspose.BarCode
PM> Install-Package Aspose.Words
Générer et ajouter un code-barres au document Word en C#
Nous pouvons créer un nouveau document Word et ajouter une image de code-barres au document en suivant les étapes ci-dessous :
- Tout d’abord, créez une instance de la classe BarcodeGenerator. Il prend le EncodeType et le texte à coder comme arguments.
- Ensuite, créez une instance de l’objet de flux de mémoire.
- Appelez ensuite la méthode Save() pour enregistrer l’image du code-barres dans le flux de mémoire.
- Ensuite, créez une instance de la classe Document.
- Ensuite, initialisez une instance de la classe DocumentBuilder avec l’objet Document.
- Après cela, insérez l’image du code-barres à l’aide de la méthode InsertImage() avec l’objet stream comme argument.
- Enfin, appelez la méthode Save(). Il prend le chemin du fichier DOCX de sortie comme argument.
L’exemple de code suivant montre comment générer et ajouter un code-barres à un nouveau document Word à l’aide de C#.
// Cet exemple de code montre comment générer et ajouter une image de code-barres au document Word.
// Chemin d'accès au répertoire des documents.
string dataDir = @"C:\Files\BarCode\";
// Instancier un objet de code-barres linéaire, définir le texte du code et le type de symbologie pour le code-barres
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567890");
// Création d'un flux de mémoire et enregistrement de l'image du code-barres dans le flux de mémoire
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// Créer un nouveau document Word
Aspose.Words.Document doc = new Aspose.Words.Document();
// Créer un générateur pour l'objet document
DocumentBuilder builder = new DocumentBuilder(doc);
// Insérez l'image du code-barres dans le document
builder.InsertImage(ms);
// Enregistrer le document Word
doc.Save(dataDir + "Sample_out.docx");
Ajouter un code-barres à un document Word existant en C#
Nous pouvons générer et ajouter une image de code-barres à n’importe quel document Word existant en suivant les étapes ci-dessous :
- Tout d’abord, créez une instance de la classe BarcodeGenerator avec le EncodeType et le texte à encoder comme arguments.
- Ensuite, créez une instance de l’objet de flux de mémoire.
- Appelez ensuite la méthode Save() pour enregistrer l’image du code-barres dans le flux de mémoire.
- Ensuite, chargez un document Word existant à l’aide de la classe Document.
- Ensuite, initialisez une instance de la classe DocumentBuilder avec l’objet Document.
- Après cela, insérez l’image du code-barres à l’aide de la méthode InsertImage() avec l’objet stream et sa position comme arguments.
- Enfin, appelez la méthode Save(). Il prend le chemin du fichier DOCX de sortie comme argument.
L’exemple de code suivant montre comment générer et ajouter un code-barres à un document Word existant à l’aide de C#.
// Cet exemple de code montre comment générer et ajouter une image de code-barres à un document Word existant.
// Chemin d'accès au répertoire des documents.
string dataDir = @"C:\Files\BarCode\";
// Instancier un objet de code-barres linéaire, définir le texte du code et le type de symbologie pour le code-barres
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Codabar, "1234567890");
// Création d'un flux de mémoire et enregistrement de l'image du code-barres dans le flux de mémoire
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// Créer un nouveau document Word
Document doc = new Document(dataDir + "sample.docx");
// Créer un générateur pour l'objet document
DocumentBuilder builder = new DocumentBuilder(doc);
// Insérez l'image du code-barres dans le document
builder.InsertImage(ms,
RelativeHorizontalPosition.Margin,
0,
RelativeVerticalPosition.Margin,
400,
200,
100,
WrapType.Square);
// Enregistrer le document Word
doc.Save(dataDir + "Sample_out.docx");
Ajouter un code QR à un document Word à l’aide de C#
De même, nous pouvons également générer une image de code QR et l’ajouter au document Word en suivant les étapes mentionnées précédemment. Cependant, nous avons juste besoin de définir le EncodeType comme QR ou GS1QR dans la première étape. Nous devrons peut-être également ajuster la position de l’image à l’étape 6.
L’exemple de code suivant montre comment ajouter un code QR à un document Word à l’aide de C#.
// Cet exemple de code montre comment générer et ajouter un code QR à un document Word existant.
// Chemin d'accès au répertoire des documents.
string dataDir = @"C:\Files\BarCode\";
// Instancier un objet de code-barres linéaire, définir le texte du code et le type de symbologie pour le code-barres
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");
// Création d'un flux de mémoire et enregistrement de l'image du code-barres dans le flux de mémoire
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// Créer un nouveau document Word
Document doc = new Document(dataDir + "sample.docx");
// Créer un générateur pour l'objet document
DocumentBuilder builder = new DocumentBuilder(doc);
// Insérez l'image du code-barres dans le document
builder.InsertImage(ms,
RelativeHorizontalPosition.Margin,
400,
RelativeVerticalPosition.Margin,
-50,
100,
100,
WrapType.Square);
// Enregistrer le document Word
doc.Save(dataDir + "Sample_qr_out.docx");
Lire le code-barres à partir d’un document Word à l’aide de C#
Nous pouvons reconnaître n’importe quelle image de code-barres disponible sur n’importe quelle page du document Word en suivant les étapes ci-dessous :
- Tout d’abord, chargez un document Word existant à l’aide de la classe Document.
- Ensuite, accédez à la NodeCollection des types Shape à l’aide de la méthode GetChildNodes().
- Ensuite, parcourez toutes les formes et vérifiez si la forme est une image.
- Ensuite, enregistrez l’image dans le flux.
- Ensuite, créez une instance de la classe BarCodeReader avec le flux d’image et DecodeType comme arguments.
- Après cela, appelez la méthode ReadBarCodes() pour obtenir l’objet BarCodeResult.
- Enfin, affichez les informations du code-barres.
L’exemple de code suivant montre comment lire une image de code-barres à partir d’un document Word à l’aide de C#.
// Cet exemple de code montre comment lire le code-barres d'un document Word.
// Chemin d'accès au répertoire des documents.
string dataDir = @"C:\Files\BarCode\";
// Charger le document Word
Document wordDocument = new Document(dataDir + "sample_out.docx");
// Obtenez toutes les formes
NodeCollection shapes = wordDocument.GetChildNodes(NodeType.Shape, true);
// Boucle à travers toutes les formes
foreach (Shape shape in shapes)
{
// Vérifiez s'il a une image
if (shape.HasImage)
{
// Enregistrer l'image dans le flux de mémoire
MemoryStream imgStream = new MemoryStream();
shape.ImageData.Save(imgStream);
// Reconnaître le code-barres à partir du flux d'images ci-dessus
using (BarCodeReader reader = new BarCodeReader(new Bitmap(imgStream), DecodeType.Code39Standard))
{
foreach (BarCodeResult result in reader.ReadBarCodes())
{
Console.WriteLine("Codetext found: " + result.CodeText + ", Symbology: " + result.CodeType);
}
}
}
}
Codetext found: 1234567890, Symbology: Code39Standard
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 à :
- créer un document Word par programmation ;
- générer une image de code-barres et l’ajouter au document Word ;
- créez un code QR et insérez-le dans un document Word ;
- lire une image de code-barres à partir d’un document Word en C#.
En outre, vous pouvez en savoir plus sur l’API Aspose.BarCode for .NET en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.