چگونه با استفاده از Java SDK یک برنامه اسکنر بارکد ایجاد کنیم. قابلیت های اسکن QR را در برنامه های وب، موبایل و دسکتاپ خود پیاده سازی کنید.

اسکنر بارکد

اسکن بارکد آنلاین | اسکنر کد QR

در این مقاله، ما قصد داریم در مورد نحوه توسعه یک اسکنر بارکد و یک برنامه اسکنر کد QR با استفاده از Java REST API صحبت کنیم. ما می دانیم که در اقتصادهای پر سرعت امروز، بارکدها یک راه حل ضروری و قابل دوام برای فروشندگان و بازرگانان برای ذخیره جزئیات محصول هستند. در طول سال ها، آنها ثابت کرده اند که یک انتخاب ارزشمند و قابل دوام برای مشاغل هستند. آنها راندمان را تا حد زیادی بهبود بخشیده و سربار را کاهش داده اند. بارکدها هم مقرون به صرفه و هم قابل اعتماد هستند. از دیگر مزایای استفاده از بارکد که در زیر مشخص شده است، چند مزیت دیگر استفاده از آنها است

  • بارکدها احتمال خطای انسانی را از بین می برند
  • استفاده از سیستم بارکد زمان آموزش کارکنان را کاهش می دهد
  • بارکدها بسیار متنوع هستند و می توانند برای هر نوع جمع آوری داده های ضروری استفاده شوند
  • آنها کنترل دقیق موجودی را امکان پذیر می کنند و از این رو کنترل موجودی بهبود می یابد
  • علاوه بر این، بارکدها داده های بهتری را ارائه می دهند، یعنی یک بارکد واحد ممکن است جزئیات موجودی و قیمت را ارائه دهد.

مربوط به همه این ویژگی‌ها، Aspose.BarCode Cloud Java SDK به توسعه‌دهندگان جاوا این امکان را می‌دهد تا با استفاده از زبان جاوا بارکد را به‌صورت آنلاین ایجاد و اسکن کنند. مشابه سایر APIهای Cloud ما، Aspose.BarCode Cloud Java SDK از شما می‌خواهد که یک حساب در [Cloud Dashboard] ثبت کنید.2 اگر قبلاً یک حساب ثبت کرده‌اید، می‌توانید به استفاده از آن ادامه دهید. هنگامی که حساب خود را آماده کردید، می توانید از خدمات Cloud از طریق AppKey و AppSID استفاده کنید.

می توانید از ذخیره سازی Aspose Cloud استفاده کنید یا از هر سرویس ذخیره سازی ابری شخص ثالث برای ذخیره سازی و بازیابی فایل استفاده کنید.

نمادهای بارکد پشتیبانی شده

SDK از نمادهای بارکد متعدد (بیش از 60) مانند EAN، UPC، Codabar، PDF417، QR، MicroQR، Postnet، Planet، RM4SCC و غیره پشتیبانی می‌کند. همچنین می‌توانید اطلاعات بارکد موجود را بارگیری کنید و خروجی را در تصویر محبوب ذخیره کنید. قالب‌هایی مانند JPEG، PNG، GIF، BMP، TIFF، EMF، WMF، SVG، EXIF و ICON. برای فهرست کامل نمادهای پشتیبانی شده، لطفاً از Aspose.BarCode Cloud Java SDK دیدن کنید.

تولید بارکد

SDK به شما امکان ایجاد تصاویر بارکد خطی، دوبعدی و پستی را در قالب‌های فراوانی می‌دهد. می توانید ویژگی های تصویر بارکد مانند عرض تصویر، ارتفاع، سبک حاشیه و فرمت تصویر خروجی را مشخص کنید. همچنین می‌توانید نوع بارکد و ویژگی‌های متن مانند مکان متن و سبک‌های فونت را بر اساس الزامات برنامه خود تعیین کنید. همچنین قابلیت تنظیم ارتفاع میله ها و چرخاندن تصاویر بارکد در یک زاویه را فراهم می کند.

مثال زیر مراحل ایجاد بارکد استاندارد Code39 را نشان می دهد که در تراز بالای مرکز صفحه قرار گرفته است. رنگ متن به صورت نیروی دریایی، افقی و وضوح عمودی 200 مشخص شده است. BarColor به صورت نارنجی، رنگ پس‌زمینه نقره‌ای و فرمت خروجی JPEG است.

قبل از اینکه ادامه دهیم، به شما توصیه می کنیم از پیوند زیر دیدن کنید زیرا هنگام دسترسی به API با استفاده از دستور cURL، یک توکن JWT ضروری است.

حلقه

curl -X PUT "https://api.aspose.cloud/v3.0/barcode/MySample.jpeg/generate?Type=Code39Standard&Text=BarCode%20processing&TextLocation=Above&TextAlignment=Center&TextColor=Navy&FontSizeMode=Auto&Resolution=200&ResolutionX=200&BackColor=silver&BarColor=Orange&BorderColor=Blue&format=jpeg" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

درخواست URL

https://api.aspose.cloud/v3.0/barcode/MySample.jpeg/generate?Type=Code39Standard&Text=BarCode%20processing&TextLocation=Above&TextAlignment=Center&TextColor=Navy&FontSizeMode=Auto&Resolution=200&ResolutionX=200&BackColor=silver&BarColor=Orange&BorderColor=Blue&format=jpeg

جاوا

ApiClient client = new ApiClient(
"App SID from https://dashboard.aspose.cloud/#/apps",
"App Key from https://dashboard.aspose.cloud/#/apps");
		        
com.aspose.barcode.cloud.api.BarcodeApi api = new com.aspose.barcode.cloud.api.BarcodeApi(client);
String name = "MySample.jpeg";
String type = com.aspose.barcode.cloud.model.EncodeBarcodeType.CODE39STANDARD.getValue();	
String text = "Barcode processing API"; // String | Text to encode.
String twoDDisplayText = null;
String textLocation = com.aspose.barcode.cloud.model.CodeLocation.ABOVE.getValue();
String textAlignment = com.aspose.barcode.cloud.model.TextAlignment.CENTER.getValue();
String textColor = "Navy";
String fontSizeMode = com.aspose.barcode.cloud.model.FontMode.AUTO.getValue();
int resolution = 200;
double resolutionX = 200;
double resolutionY = 200;
String barColor = "Orange";
String format = "JPEG";
		        
try {
com.aspose.barcode.cloud.model.ResultImageInfo result = api.putBarcodeGenerateFile(
    name, 
		type, 
		text, 
		twoDDisplayText, 
		textLocation, 
		textAlignment, 
		textColor, 
		fontSizeMode, 
		(double) resolution, 
		resolutionX, 
		resolutionY, 
		null, 
		null, 
		null, 
		null, 
		null, 
		null, 
		null, 
		null, 
		"Silver", 
		barColor, 
		"Blue",
		null, 
		null, 
		true, 
		null, 
		null, 
		null, 
		null, 
		null, 
		null, 
		null, 
		null, 
		null, 
		null,
		format);
		            
  System.out.println(result);
	} catch (ApiException e) {
  System.err.println("Exception when calling BarcodeApi#PutBarcodeGenerateFile");
	e.printStackTrace();
}
اسکنر بارکد آنلاین

تصویر 1: - پیش نمایش بارکد حاصل.

بارکدخوان آنلاین

اسکن QR

تصویر 2: اسکنر کد QR

Cloud API همچنین قادر به تشخیص اطلاعات از بارکدهای موجود است. شما این امکان را دارید که جزئیات نوع بارکد را برای بازیابی سریع مشخص کنید یا به API اجازه دهید نوع را به طور خودکار تعیین کند. همچنین می‌توانید جزئیات ChecksumValidation، DetectEncoding را مشخص کنید، یا اجازه دهید API آنها را در طول زمان تعیین کند.

حلقه

curl -X POST "https://api.aspose.cloud/v3.0/barcode/recognize?Type=all&DetectEncoding=true" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-H  "x-aspose-client: Containerize.Swagger" -d {"image":{}}

درخواست URL

https://api.aspose.cloud/v3.0/barcode/recognize?Type=all&DetectEncoding=true

جاوا

// برای نمونه های کامل و فایل های داده، لطفاً به https://github.com/aspose-barcode-cloud/aspose-barcode-cloud-java/ مراجعه کنید.

String type = null;
String checksumValidation = ChecksumValidation.OFF.toString();
Boolean detectEncoding = null;
String preset = PresetType.HIGHPERFORMANCE.toString();

Integer rectX = null;
Integer rectY = null;
Integer rectWidth = null;
Integer rectHeight = null;
Boolean stripFNC = null;
Integer timeout = null;
Integer medianSmoothingWindowSize = null;
Boolean allowMedianSmoothing = null;
Boolean allowComplexBackground = null;
Boolean allowDatamatrixIndustrialBarcodes = null;
Boolean allowDecreasedImage = null;
Boolean allowDetectScanGap = null;
Boolean allowIncorrectBarcodes = null;
Boolean allowInvertImage = null;
Boolean allowMicroWhiteSpotsRemoving = null;
Boolean allowOneDFastBarcodesDetector = null;
Boolean allowOneDWipedBarsRestoration = null;
Boolean allowQRMicroQrRestoration = null;
Boolean allowRegularImage = null;
Boolean allowSaltAndPepperFiltering = null;
Boolean allowWhiteSpotsRemoving = null;
Double regionLikelihoodThresholdPercent = null;
List<Integer> scanWindowSizes = null;
Double similarity = null;
Boolean skipDiagonalSearch = null;
String australianPostEncodingTable = null;
String rectangleRegion = null;
String url = null;

Path currentRelativePath = Paths.get("");
String currentPath = currentRelativePath.toAbsolutePath().toString();
Path filePath = Paths.get(currentPath, "data", "sample.png");

File image = new File(String.valueOf(filePath));

BarcodeResponseList response = 
   	 api.postBarcodeRecognizeFromUrlOrContent( 
      		type,checksumValidation,detectEncoding,preset,rectX,rectY,rectWidth,rectHeight,
      		stripFNC,timeout,medianSmoothingWindowSize,allowMedianSmoothing,allowComplexBackground,
      		allowDatamatrixIndustrialBarcodes,allowDecreasedImage,allowDetectScanGap,
		allowIncorrectBarcodes,allowInvertImage,allowMicroWhiteSpotsRemoving,allowOneDFastBarcodesDetector,
      		allowOneDWipedBarsRestoration,allowQRMicroQrRestoration,allowRegularImage,allowSaltAndPepperFiltering,
      		allowWhiteSpotsRemoving,regionLikelihoodThresholdPercent,scanWindowSizes,similarity,skipDiagonalSearch,
      		australianPostEncodingTable,rectangleRegion,url,image);

assertNotNull(response);
assertFalse(response.getBarcodes().isEmpty());

BarcodeResponse barcode = response.getBarcodes().get(0);
assertEquals(DecodeBarcodeType.CODE11.getValue(), barcode.getType());
assertEquals("1234567812", barcode.getBarcodeValue());
بارکد 2 بعدی

تصویر 3: - پیش نمایش بارکد 2 بعدی.

اگر کد بالا را روی تصویر مشخص شده بالا اجرا کنید، بدنه Response خروجی را به صورت نمایش می دهد

بدن پاسخگو

{  "barcodes":  [  {  "barcodeValue":  "12345678",  "type":  "Code39Standard",  "region":  [  {  "x":  **28**,  "y":  **3**  },  {  "x":  **222**,  "y":  **3**  },  {  "x":  **222**,  "y":  **74**  },  {  "x":  **28**,  "y":  **74**  }  ],  "checksum":  ""  }  ]  }

نتیجه

در این مقاله، مراحل ساخت اپلیکیشن اسکنر بارکد با استفاده از Java REST API را آموختیم. به طور مشابه، API همچنین شما را قادر می سازد تا یک خواننده کد QR را از فایل تصویر پیاده سازی کنید. به غیر از استفاده از Java SDK، ما همچنین گزینه ای برای اسکن بارکد آنلاین با استفاده از دستورات cURL دریافت می کنیم. نیازی به دانلود یا نصب نرم افزار اضافی نیست. اگر هنگام استفاده از API با مشکلی مواجه شدید، لطفاً از طریق [تالار گفتمان پشتیبانی رایگان محصول] با ما تماس بگیرید.

مقالات مرتبط

همچنین توصیه می کنیم برای کسب اطلاعات بیشتر به لینک های زیر مراجعه کنید: