如何使用 Java SDK 开发条码扫描器应用程序。在您的 Web、移动和桌面应用程序中实施 QR 扫描功能。
在本文中,我们将讨论如何使用 Java REST API 开发条码扫描器和 QR 码扫描器应用程序的细节。我们了解,在当今快节奏的经济中,条形码是供应商和商家存储产品详细信息的重要且可行的解决方案。多年来,它们已被证明是企业有价值且可行的选择。它们大大提高了效率并减少了开销。条形码既经济又可靠。在使用条码的其他好处中,下面指定的是使用它们的更多好处
- 条形码消除了人为错误的可能性
- 使用条形码系统可减少员工培训时间
- 条形码用途极为广泛,可用于任何类型的必要数据收集
- 它们可以实现精确的库存控制,从而改善库存控制
- 此外,条形码提供更好的数据,即单个条形码可以提供库存和定价详细信息
与所有这些功能相关的是,Aspose.BarCode Cloud Java SDK 使 Java 开发人员能够使用 Java 语言在线创建和扫描条码。与我们的其他云API类似,Aspose.BarCode Cloud Java SDK需要您在Cloud Dashboard注册一个账户。如果您已经注册了一个账户,您可以继续使用它。准备好帐户后,您就可以通过 AppKey 和 AppSID 使用云服务了。
您可以考虑使用 Aspose 云存储,或使用任何第三方云存储服务进行文件存储和检索。
支持的条码符号
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 让您可以创建多种格式的线性、二维和邮政条码图像。您可以指定条形码图像属性,例如图像宽度、高度、边框样式和输出图像格式。您还可以根据您的应用程序要求指定条码类型和文本属性,例如文本位置和字体样式。它还提供了设置条形高度和以一定角度旋转条形码图像的功能。
以下示例显示了创建 Code39Standard 条形码的步骤,该条形码放置在页面的顶部居中对齐方式上。文本颜色指定为 Navy,Horizontal,Vertical 分辨率指定为 200。BarColor 指定为 Orange,背景颜色设置为银色,输出格式为 JPEG 格式。
在我们继续之前,我们建议您访问以下链接,因为在使用 cURL 命令访问 API 时需要 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>"
请求网址
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();
}
在线条形码阅读器
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":{}}
请求网址
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());
如果您在上面指定的图像上运行上面的代码,响应主体将输出呈现为
响应体
{ "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 还使您能够从图像文件中实现二维码阅读器。除了使用 Java SDK,我们还可以选择使用 cURL 命令在线扫描条码。不需要额外的软件下载或安装。如果您在使用 API 时遇到任何问题,请随时通过免费产品支持论坛 与我们联系。
相关文章
我们还建议访问以下链接以了解更多信息: