Génération d'étiquettes de codes-barres personnalisées dans Aspose.Words pour Java

Introduction à la génération d’étiquettes de codes-barres personnalisées dans Aspose.Words pour Java

Dans ce guide complet, nous approfondirons le processus de génération d’étiquettes de codes-barres personnalisées à l’aide d’Aspose.Words pour Java. Aspose.Words for Java est une API puissante qui permet aux développeurs de manipuler des documents Word par programme. L’une de ses caractéristiques remarquables est la possibilité de travailler avec des étiquettes à codes-barres, ce qui en fait un outil précieux pour les entreprises et les organisations qui ont besoin de solutions de codes-barres personnalisées.

Conditions préalables

Avant d’entrer dans les détails de la génération d’étiquettes de codes-barres personnalisées, assurons-nous que les conditions préalables sont en place :

  1. Environnement de développement Java : assurez-vous que Java et un environnement de développement intégré (IDE) sont installés sur votre système.

  2. Aspose.Words pour Java : téléchargez et installez Aspose.Words pour Java à partir deici.

  3. Connaissance de base de Java : une connaissance de la programmation Java sera utile car nous écrireons du code Java pour créer des étiquettes de codes-barres personnalisées.

Création d’étiquettes de codes-barres personnalisées

Commençons maintenant à créer des étiquettes de codes-barres personnalisées à l’aide d’Aspose.Words pour Java. Nous décomposerons le processus en étapes et fournirons des extraits de code Java pour chaque étape.

Définition de la hauteur du code-barres

Pour commencer, nous devons définir la hauteur de notre code-barres en twips (1/1440 pouces). Nous convertirons ensuite cette valeur en millimètres (mm). Voici le code pour réaliser cela :

	// La valeur d'entrée est en 1/1440 pouces (twips)
	int heightInTwips = tryParseInt(heightInTwipsString);
	if (heightInTwips == Integer.MIN_VALUE)
		throw new Exception("Error! Incorrect height - " + heightInTwipsString + ".");
	// Convertir en mm
	return (float) (heightInTwips * 25.4 / 1440.0);

Conversion de la couleur de l’image du code à barres

Ensuite, nous allons convertir la couleur de l’image du code-barres de Word en Aspose.BarCode. La couleur d’entrée doit être au format “0xRRGGBB” (hexadécimal). Voici le code pour la conversion :

/// <résumé>
/// Convertit la couleur de l'image du code-barres de Word en Aspose.BarCode.
/// </résumé>
/// <param name="inputColor"></param>
/// <retours></retours>
private static Color convertColor(String inputColor) throws Exception {
	// L'entrée doit être comprise entre "0x000000" et "0xFFFFFF".
	int color = tryParseHex(inputColor.replace("0x", ""));
	if (color == Integer.MIN_VALUE)
		throw new Exception("Error! Incorrect color - " + inputColor + ".");
	return new Color((color >> 16), ((color & 0xFF00) >> 8), (color & 0xFF));
}

Conversion du facteur d’échelle du code-barres

Nous allons maintenant convertir le facteur de mise à l’échelle du code-barres d’un pourcentage en valeur flottante. Ce facteur d’échelle détermine la taille du code-barres. Voici le code pour la conversion :

/// <résumé>
/// Convertit le facteur d'échelle du code à barres de pourcentage en flottant.
/// </résumé>
/// <param name="scalingFactor"></param>
/// <retours></retours>
private static float convertScalingFactor(String scalingFactor) throws Exception {
	boolean isParsed = false;
	int percent = tryParseInt(scalingFactor);
	if (percent != Integer.MIN_VALUE && percent >= 10 && percent <= 10000)
		isParsed = true;
	if (!isParsed)
		throw new Exception("Error! Incorrect scaling factor - " + scalingFactor + ".");
	return percent / 100.0f;
}

Implémentation de la méthode GetBarCodeImage()

Dans cette étape, nous mettrons en œuvre legetBarcodeImage méthode, qui génère l’image du code-barres en fonction des paramètres fournis. Nous gérerons différents types de codes-barres, définirons les couleurs, ajusterons les dimensions, et bien plus encore. Voici le code de cette méthode :

/// <résumé>
/// Implémentation de la méthode GetBarCodeImage() pour l'interface IBarCodeGenerator.
/// </résumé>
/// <param name="paramètres"></param>
/// <retours></retours>
public BufferedImage getBarcodeImage(BarcodeParameters parameters) throws Exception {
	// Vérifiez si le type et la valeur du code-barres sont fournis
	if (parameters.getBarcodeType() == null || parameters.getBarcodeValue() == null)
		return null;
	
	// Créer un BarcodeGenerator basé sur le type de code-barres
	BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR);
	String type = parameters.getBarcodeType().toUpperCase();
	switch (type)
	{
		case "QR":
			generator = new BarcodeGenerator(EncodeTypes.QR);
			break;
		// Gérez d'autres types de codes-barres ici
	}
	
	// Définir le texte du code-barres
	generator.setCodeText(parameters.getBarcodeValue());
	
	// Définir les couleurs des codes-barres
	if (parameters.getForegroundColor() != null)
		generator.getParameters().getBarcode().setBarColor(convertColor(parameters.getForegroundColor()));
	if (parameters.getBackgroundColor() != null)
		generator.getParameters().setBackColor(convertColor(parameters.getBackgroundColor()));
	
	// Définir la hauteur et les dimensions du symbole
	if (parameters.getSymbolHeight() != null)
	{
		generator.getParameters().getImageHeight().setPixels(convertSymbolHeight(parameters.getSymbolHeight()));
		generator.getParameters().setAutoSizeMode(AutoSizeMode.NONE);
	}
	
	//Personnaliser l'emplacement du texte du code
	generator.getParameters().getBarcode().getCodeTextParameters().setLocation(CodeLocation.NONE);
	if (parameters.getDisplayText())
		generator.getParameters().getBarcode().getCodeTextParameters().setLocation(CodeLocation.BELOW);
	
	// Ajustements supplémentaires pour les codes QR
	final float SCALE = 2.4f; // Facteur d'échelle empirique pour la conversion du code-barres Word en Aspose.BarCode
	float xdim = 1.0f;
	if (generator.getBarcodeType().equals(EncodeTypes.QR))
	{
		generator.getParameters().setAutoSizeMode(AutoSizeMode.NEAREST);
		generator.getParameters().getImageWidth().setInches(generator.getParameters().getImageWidth().getInches() * SCALE);
		generator.getParameters().getImageHeight().setInches(generator.getParameters().getImageWidth().getInches());
		xdim = generator.getParameters().getImageHeight().getInches() / 25;
		generator.getParameters().getBarcode().getXDimension().setInches(xdim);
		generator.getParameters().getBarcode().getBarHeight().setInches(xdim);
	}
	
	// Appliquer un facteur d'échelle
	if (parameters.getScalingFactor() != null)
	{
		float scalingFactor = convertScalingFactor(parameters.getScalingFactor());
		generator.getParameters().getImageHeight().setInches(generator.getParameters().getImageHeight().getInches() * scalingFactor);
		if (generator.getBarcodeType().equals(EncodeTypes.QR))
		{
			generator.getParameters().getImageWidth().setInches(generator.getParameters().getImageHeight().getInches());
			generator.getParameters().getBarcode().getXDimension().setInches(xdim * scalingFactor);
			generator.getParameters().getBarcode().getBarHeight().setInches(xdim * scalingFactor);
		}
		generator.getParameters().setAutoSizeMode(AutoSizeMode.NONE);
	}
	
	// Générer et renvoyer l'image du code-barres
	return generator.generateBarCodeImage();
}

Implémentation de la méthode GetOldBarcodeImage()

Dans cette étape, nous mettrons en œuvre legetOldBarcodeImage méthode, qui génère des images de codes-barres pour les codes-barres anciens. Ici, nous traiterons un type de code-barres spécifique, tel que POSTNET. Voici le code de cette méthode :

/// <résumé>
/// Implémentation de la méthode GetOldBarcodeImage() pour l'interface IBarCodeGenerator.
/// </résumé>
/// <param name="paramètres"></param>
/// <retours></retours>
public BufferedImage getOldBarcodeImage(BarcodeParameters parameters)
{
	if (parameters.getPostalAddress() == null)
		return null;
	BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.POSTNET);
	{
		generator.setCodeText(parameters.getPostalAddress());
	}
	// Type de code dur pour le code-barres à l'ancienne
	return generator.generateBarCodeImage();
}

Conclusion

Dans cet article, nous avons exploré le processus de génération d’étiquettes de codes-barres personnalisées à l’aide d’Aspose.Words pour Java. Nous avons couvert les étapes essentielles, depuis la définition de la hauteur du code-barres jusqu’à la mise en œuvre de méthodes de génération de codes-barres. Aspose.Words for Java permet aux développeurs de créer des étiquettes de codes-barres dynamiques et personnalisées, ce qui en fait un outil précieux pour diverses industries.

FAQ

Comment puis-je ajuster la taille du code-barres généré ?

Vous pouvez ajuster la taille du code-barres généré en définissant la hauteur du symbole du code-barres et le facteur d’échelle dans les extraits de code fournis. Ces paramètres vous permettent de contrôler les dimensions du code-barres selon vos besoins.

Puis-je changer les couleurs du code-barres ?

Oui, vous pouvez modifier les couleurs du code-barres en spécifiant les couleurs de premier plan et d’arrière-plan dans le code. Cette personnalisation vous permet de faire correspondre l’apparence du code-barres au design de votre document.

Quels types de codes-barres sont pris en charge par Aspose.Words pour Java ?

Aspose.Words for Java prend en charge différents types de codes-barres, notamment les codes QR, CODE128, CODE39, EAN8, EAN13, UPCA, UPCE, ITF14, etc. Vous pouvez choisir le type de code-barres qui correspond aux besoins de votre application.

Comment intégrer le code barre généré dans mon document Word ?

Pour intégrer le code-barres généré dans votre document Word, vous pouvez utiliser Aspose.Words pour les capacités de manipulation de documents de Java. Vous pouvez insérer l’image du code-barres dans votre document à l’emplacement souhaité.

Existe-t-il un exemple de code disponible pour une personnalisation plus poussée ?

Oui, vous pouvez trouver des exemples d’extraits de code et de la documentation supplémentaire sur le site de référence d’Aspose.Words for Java :Référence de l’API Aspose.Words pour Java.