إنشاء تسميات باركود مخصصة في Aspose.Words لـ Java

مقدمة لإنشاء ملصقات باركود مخصصة في Aspose.Words لـ Java

في هذا الدليل الشامل، سوف نتعمق في عملية إنشاء ملصقات باركود مخصصة باستخدام Aspose.Words for Java. Aspose.Words for Java عبارة عن واجهة برمجة تطبيقات قوية تسمح للمطورين بمعالجة مستندات Word برمجيًا. إحدى ميزاته الرائعة هي القدرة على العمل مع ملصقات الباركود، مما يجعله أداة قيمة للشركات والمؤسسات التي تتطلب حلول باركود مخصصة.

المتطلبات الأساسية

قبل أن نتعمق في تفاصيل إنشاء ملصقات باركود مخصصة، دعونا نتأكد من أن لدينا المتطلبات الأساسية:

  1. بيئة تطوير Java: تأكد من تثبيت Java وبيئة التطوير المتكاملة (IDE) على نظامك.

  2. Aspose.Words لـ Java: قم بتنزيل Aspose.Words لـ Java وتثبيته منهنا.

  3. المعرفة الأساسية بـ Java: سيكون الإلمام ببرمجة Java مفيدًا لأننا سنكتب كود Java لإنشاء ملصقات باركود مخصصة.

إنشاء ملصقات باركود مخصصة

الآن، لنبدأ في إنشاء ملصقات باركود مخصصة باستخدام Aspose.Words for Java. سنقوم بتقسيم العملية إلى خطوات ونوفر مقتطفات من كود Java لكل خطوة.

تحديد ارتفاع الباركود

للبدء، نحتاج إلى ضبط ارتفاع الباركود الخاص بنا بالنقر (1/1440 بوصة). سنقوم بعد ذلك بتحويل هذه القيمة إلى ملليمتر (مم). إليك الكود لإنجاز هذا:

	// قيمة الإدخال هي 1/1440 بوصة (تويب)
	int heightInTwips = tryParseInt(heightInTwipsString);
	if (heightInTwips == Integer.MIN_VALUE)
		throw new Exception("Error! Incorrect height - " + heightInTwipsString + ".");
	// تحويل إلى مم
	return (float) (heightInTwips * 25.4 / 1440.0);

تحويل لون صورة الباركود

بعد ذلك، سنقوم بتحويل لون صورة الباركود من Word إلى Aspose.BarCode. يجب أن يكون لون الإدخال بالتنسيق “0xRRGGBB” (سداسي عشري). وإليكم الكود الخاص بالتحويل:

/// <الملخص>
/// تحويل لون صورة الباركود من Word إلى Aspose.BarCode.
/// </ملخص>
/// <param name="inputColor"></param>
/// <إرجاع></إرجاع>
private static Color convertColor(String inputColor) throws Exception {
	// يجب أن يكون الإدخال من "0x000000" إلى "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));
}

تحويل عامل تحجيم الباركود

الآن، سنقوم بتحويل عامل تحجيم الباركود من نسبة مئوية إلى قيمة عائمة. يحدد عامل القياس هذا حجم الباركود. وإليكم الكود الخاص بالتحويل:

/// <الملخص>
/// تحويل عامل تحجيم الرمز الشريطي من النسبة المئوية إلى التعويم.
/// </ملخص>
/// <param name="scalingFactor"></param>
/// <إرجاع></إرجاع>
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;
}

تنفيذ طريقة GetBarCodeImage()

في هذه الخطوة سنقوم بتنفيذgetBarcodeImage الطريقة التي تولد صورة الباركود بناءً على المعلمات المتوفرة. سنتعامل مع أنواع مختلفة من الباركود ونضبط الألوان ونضبط الأبعاد والمزيد. إليك الكود الخاص بهذه الطريقة:

/// <الملخص>
/// تنفيذ طريقة GetBarCodeImage() لواجهة IBarCodeGenerator.
/// </ملخص>
/// <param name="parameters"></param>
/// <إرجاع></إرجاع>
public BufferedImage getBarcodeImage(BarcodeParameters parameters) throws Exception {
	// تحقق مما إذا تم توفير نوع الباركود وقيمته
	if (parameters.getBarcodeType() == null || parameters.getBarcodeValue() == null)
		return null;
	
	// قم بإنشاء BarcodeGenerator بناءً على نوع الباركود
	BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR);
	String type = parameters.getBarcodeType().toUpperCase();
	switch (type)
	{
		case "QR":
			generator = new BarcodeGenerator(EncodeTypes.QR);
			break;
		// تعامل مع أنواع الباركود الأخرى هنا
	}
	
	// ضبط نص الباركود
	generator.setCodeText(parameters.getBarcodeValue());
	
	// ضبط ألوان الباركود
	if (parameters.getForegroundColor() != null)
		generator.getParameters().getBarcode().setBarColor(convertColor(parameters.getForegroundColor()));
	if (parameters.getBackgroundColor() != null)
		generator.getParameters().setBackColor(convertColor(parameters.getBackgroundColor()));
	
	// ضبط ارتفاع الرمز وأبعاده
	if (parameters.getSymbolHeight() != null)
	{
		generator.getParameters().getImageHeight().setPixels(convertSymbolHeight(parameters.getSymbolHeight()));
		generator.getParameters().setAutoSizeMode(AutoSizeMode.NONE);
	}
	
	//تخصيص موقع نص الرمز
	generator.getParameters().getBarcode().getCodeTextParameters().setLocation(CodeLocation.NONE);
	if (parameters.getDisplayText())
		generator.getParameters().getBarcode().getCodeTextParameters().setLocation(CodeLocation.BELOW);
	
	// تعديلات إضافية لرموز QR
	final float SCALE = 2.4f; // عامل القياس التجريبي لتحويل باركود Word إلى 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);
	}
	
	// تطبيق عامل التحجيم
	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);
	}
	
	// إنشاء وإرجاع صورة الباركود
	return generator.generateBarCodeImage();
}

تنفيذ طريقة GetOldBarcodeImage()

في هذه الخطوة سنقوم بتنفيذgetOldBarcodeImage الطريقة التي تولد صور الباركود للرموز الشريطية القديمة. هنا، سوف نتعامل مع نوع معين من الباركود، مثل POSTNET. إليك الكود الخاص بهذه الطريقة:

/// <الملخص>
/// تنفيذ طريقة GetOldBarcodeImage() لواجهة IBarCodeGenerator.
/// </ملخص>
/// <param name="parameters"></param>
/// <إرجاع></إرجاع>
public BufferedImage getOldBarcodeImage(BarcodeParameters parameters)
{
	if (parameters.getPostalAddress() == null)
		return null;
	BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.POSTNET);
	{
		generator.setCodeText(parameters.getPostalAddress());
	}
	// نوع الرمز الثابت للرمز الشريطي القديم
	return generator.generateBarCodeImage();
}

خاتمة

في هذه المقالة، اكتشفنا عملية إنشاء ملصقات باركود مخصصة باستخدام Aspose.Words لـ Java. لقد قمنا بتغطية الخطوات الأساسية، بدءًا من ضبط ارتفاع الباركود وحتى تنفيذ طرق إنشاء الباركود. يمكّن Aspose.Words for Java المطورين من إنشاء ملصقات باركود ديناميكية ومخصصة، مما يجعلها أداة قيمة لمختلف الصناعات.

الأسئلة الشائعة

كيف يمكنني ضبط حجم الباركود الذي تم إنشاؤه؟

يمكنك ضبط حجم الرمز الشريطي الذي تم إنشاؤه عن طريق ضبط ارتفاع رمز الرمز الشريطي وعامل القياس في مقتطفات الرمز المتوفرة. تتيح لك هذه المعلمات التحكم في أبعاد الباركود وفقًا لمتطلباتك.

هل يمكنني تغيير ألوان الباركود؟

نعم، يمكنك تغيير ألوان الباركود من خلال تحديد الألوان الأمامية والخلفية في الكود. يتيح لك هذا التخصيص مطابقة مظهر الرمز الشريطي مع تصميم المستند الخاص بك.

ما هي أنواع الباركود التي يدعمها Aspose.Words for Java؟

يدعم Aspose.Words for Java أنواع الرموز الشريطية المختلفة، بما في ذلك رموز QR وCODE128 وCODE39 وEAN8 وEAN13 وUPCA وUPCE وITF14 والمزيد. يمكنك اختيار نوع الباركود الذي يناسب احتياجات تطبيقك.

كيف يمكنني دمج الباركود الذي تم إنشاؤه في مستند Word الخاص بي؟

لدمج الرمز الشريطي الذي تم إنشاؤه في مستند Word الخاص بك، يمكنك استخدام Aspose.Words لإمكانيات معالجة المستندات في Java. يمكنك إدراج صورة الباركود في المستند الخاص بك في الموقع المطلوب.

هل هناك أي نموذج كود متاح لمزيد من التخصيص؟

نعم، يمكنك العثور على نماذج لمقتطفات التعليمات البرمجية ووثائق إضافية على موقع Aspose.Words for Java المرجعي:Aspose.Words لمرجع Java API.