Ajouter un code-barres au PDF à l'aide de C#

PDF est le format le plus répandu pour partager et imprimer des documents. De nombreuses organisations utilisent le format PDF comme format standard pour générer des rapports et partager d’autres documents officiels. Dans certains cas, nous pouvons avoir besoin d’intégrer des données ou des informations spécifiques sur le document, le produit ou l’entreprise sous forme d’image de code-barres dans les documents PDF. Nous pouvons ajouter une image de code-barres lisible par machine à un document PDF par programme dans les applications .NET. Dans cet article, nous allons apprendre à ajouter un code-barres aux documents PDF à l’aide de C#.

L’article doit couvrir les sujets suivants :

API C# pour ajouter un code-barres au PDF

Pour ajouter des codes-barres aux documents PDF, nous suivrons une procédure en deux étapes. Tout d’abord, nous utiliserons l’API Aspose.PDF for .NET pour créer ou charger un document PDF, puis nous générerons et ajouterons l’image du code-barres au PDF à l’aide de Aspose.BarCode for .NET 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.PDF

Créer un document PDF et ajouter un code-barres en C#

Nous pouvons créer un nouveau document PDF et ajouter une image de code-barres au PDF en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de la classe BarcodeGenerator avec le EncodeType et le texte à encoder comme arguments.
  2. Ensuite, créez une instance de l’objet de flux de mémoire
  3. Ensuite, appelez la méthode Save() pour enregistrer l’image du code-barres dans le flux de mémoire.
  4. Créez ensuite une instance de la classe Document.
  5. Ensuite, ajoutez une page au document PDF nouvellement créé.
  6. Ensuite, créez une instance de la classe PdfFileMend.
  7. Ensuite, appelez la méthode BindPdf() avec l’objet Document pour le lier.
  8. Ensuite, appelez la méthode AddImage() avec l’objet de flux et les coordonnées de position de l’image comme arguments.
  9. Après cela, enregistrez le PDF en utilisant la méthode Save(). Il prend le chemin du fichier PDF de sortie comme argument.
  10. Enfin, appelez la méthode Close() pour fermer l’objet PdfFileMend.

L’exemple de code suivant montre comment créer un nouveau document PDF et ajouter une image de code-barres à l’aide de C#.

// Cet exemple de code montre comment ajouter une image de code-barres à un PDF.
// Chemin d'accès au répertoire des documents.
string dataDir = @"D:\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, "1234567");

// Créer un flux de mémoire et enregistrer l'image du code-barres dans le flux de mémoire
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Créer un document PDF et ajouter une page au document
Document doc = new Document();
doc.Pages.Add();

// Ouvrir le document
PdfFileMend mender = new PdfFileMend();

// Reliez le PDF pour ajouter un code-barres
mender.BindPdf(doc);

// Ajouter une image de code-barres dans le fichier PDF
mender.AddImage(ms, 1, 100, 600, 200, 700);

// Sauvegarder les modifications
mender.Save(dataDir + "AddImage_out.pdf");

// Fermer l'objet PdfFileMend
mender.Close();
Créez un document PDF et ajoutez un code-barres en C#.

Créez un document PDF et ajoutez un code-barres en C#.

Ajouter un code-barres à un document PDF existant en C#

Nous pouvons également ajouter une image de code-barres à n’importe quelle page de documents PDF existants. La méthode AddImage() permet d’ajouter une image à la page spécifiée du document PDF aux coordonnées spécifiées. Nous pouvons insérer une image dans un document PDF existant en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de la classe BarcodeGenerator avec le EncodeType et le texte à encoder comme arguments.
  2. Ensuite, créez une instance de l’objet de flux de mémoire
  3. Ensuite, appelez la méthode Save() pour enregistrer l’image du code-barres dans le flux de mémoire.
  4. Ensuite, chargez le document PDF en utilisant la classe Document.
  5. Créez ensuite une instance de la classe PdfFileMend.
  6. Ensuite, appelez la méthode BindPdf() avec l’objet Document pour le lier.
  7. Ensuite, appelez la méthode AddImage() avec l’objet de flux, le numéro de page et les coordonnées de position de l’image comme arguments.
  8. Après cela, enregistrez le PDF en utilisant la méthode Save(). Il prend le chemin du fichier PDF de sortie comme argument.
  9. Enfin, appelez la méthode Close() pour fermer l’objet PdfFileMend.

L’exemple de code suivant montre comment ajouter une image de code-barres à un document PDF existant à l’aide de C#.

// Cet exemple de code montre comment ajouter une image de code-barres à un PDF existant.
// Chemin d'accès au répertoire des documents.
string dataDir = @"D:\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, "1234567");

// Créer un flux de mémoire et enregistrer l'image du code-barres dans le flux de mémoire
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Charger un document PDF
Document doc = new Document(dataDir + "sample.pdf");

// Ouvrir le document
PdfFileMend mender = new PdfFileMend();

// Lier le PDF pour ajouter une image de code-barres
mender.BindPdf(doc);

// Ajouter une image de code-barres dans le fichier PDF
mender.AddImage(ms, 1, 70, 0, 200, 600);

// Sauvegarder les modifications
mender.Save(dataDir + "Sample_out.pdf");

// Fermer l'objet PdfFileMend
mender.Close();
Ajouter un code-barres au document PDF existant en C#.

Ajouter un code-barres au document PDF existant en C#.

Ajouter un code QR aux documents PDF en C#

De même, nous pouvons également ajouter un code QR aux documents PDF en suivant les étapes mentionnées précédemment. Cependant, nous avons juste besoin de définir le EncodeType comme QR dans la première étape. Nous devrons peut-être également ajuster la position de l’image à l’étape 7.

L’exemple de code suivant montre comment ajouter un code QR à un document PDF à l’aide de C#.

// Cet exemple de code montre comment ajouter un code QR à un PDF existant.
// Chemin d'accès au répertoire des documents.
string dataDir = @"D:\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éer un flux de mémoire et enregistrer l'image du code-barres dans le flux de mémoire
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Charger un document PDF
Document doc = new Document(dataDir + "sample.pdf");

// Ouvrir le document
PdfFileMend mender = new PdfFileMend();

// Lier le PDF pour ajouter une image de code-barres
mender.BindPdf(doc);

// Ajouter une image QR dans le fichier PDF
mender.AddImage(ms, 1, 0, 650, 200, 780);

// Sauvegarder les modifications
mender.Save(dataDir + "Sample_QR_out.pdf");

// Fermer l'objet PdfFileMend
mender.Close();
Ajoutez un code QR aux documents PDF en C#.

Ajoutez un code QR aux documents PDF en C#.

Lire le code-barres à partir d’un document PDF à l’aide de C#

Nous pouvons reconnaître n’importe quelle image de code-barres intégrée sur l’une des pages du document PDF à l’aide de la classe PdfExtractor. Il permet d’extraire des images à partir de PDF, puis nous lirons les informations du code-barres de l’image extraite. Nous pouvons lire les codes-barres des documents PDF en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de la classe PdfExtractor.
  2. Ensuite, liez le document PDF d’entrée à l’aide de la méthode BindPdf().
  3. Ensuite, définissez la plage de pages pour l’extraction d’image.
  4. Ensuite, appelez la méthode ExtractImage() pour extraire les images.
  5. Ensuite, enregistrez l’image pour la diffuser en boucle.
  6. Ensuite, créez une instance de la classe BarCodeReader avec le flux d’image et DecodeType comme arguments.
  7. Après cela, appelez la méthode ReadBarCodes() pour obtenir l’objet BarCodeResult.
  8. Enfin, affichez les informations du code-barres.

L’exemple de code suivant montre comment lire une image de code-barres à partir d’un document PDF à l’aide de C#.

// Cet exemple de code montre comment lire un code-barres à partir d'un PDF
// Chemin d'accès au répertoire des documents.
string dataDir = @"D:\Files\BarCode\sample_out.pdf";

// Relier le document pdf
Aspose.Pdf.Facades.PdfExtractor pdfExtractor = new Aspose.Pdf.Facades.PdfExtractor();
pdfExtractor.BindPdf(dataDir);

// Définir la plage de pages pour l'extraction d'images
pdfExtractor.StartPage = 1;
pdfExtractor.EndPage = 1;

// Extraire les images
pdfExtractor.ExtractImage();

// Enregistrer des images pour diffuser en boucle
while (pdfExtractor.HasNextImage())
{
  // Enregistrer l'image pour diffuser
  MemoryStream imageStream = new MemoryStream();
  pdfExtractor.GetNextImage(imageStream);
  imageStream.Position = 0;

  // Reconnaître le code-barres à partir du flux d'images ci-dessus
  using (BarCodeReader reader = new BarCodeReader(imageStream, DecodeType.Code39Standard))
  {
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
      Console.WriteLine("Codetext found: " + result.CodeText);
      Console.WriteLine("Symbology: " + result.CodeType);
    }
  }
}
Codetext found: 1234567
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 PDF par programmation ;
  • générer et ajouter une image de code-barres au PDF en C# ;
  • extraire des images d’un document PDF à l’aide de C# ;
  • lire l’image du code-barres à partir d’un document PDF.

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.

Voir également