Como desenvolver um aplicativo de leitura de código de barras usando Java SDK. Implemente recursos de digitalização de QR em seus aplicativos da Web, dispositivos móveis e desktop.

Leitor de códigos de barra

Escanear código de barras online | Leitor de código QR

Neste artigo, vamos discutir os detalhes de como desenvolver um leitor de código de barras e um aplicativo leitor de código QR usando a API Java REST. Entendemos que nas economias de ritmo acelerado de hoje, os códigos de barras são uma solução essencial e viável para fornecedores e comerciantes para armazenar detalhes do produto. Ao longo dos anos, eles provaram ser uma escolha valiosa e viável para as empresas. Eles melhoraram muito a eficiência e reduziram as despesas gerais. Os códigos de barras são econômicos e confiáveis. Entre outros benefícios do uso do BarCode, especificados abaixo estão mais algumas vantagens de usá-los

  • Os códigos de barras eliminam a possibilidade de erro humano
  • O uso de um sistema de código de barras reduz o tempo de treinamento dos funcionários
  • Os códigos de barras são extremamente versáteis e podem ser usados para qualquer tipo de coleta de dados necessária
  • Eles permitem um controle de estoque preciso e, portanto, o controle de estoque melhora
  • Além disso, os códigos de barras fornecem dados melhores, ou seja, um único código de barras pode fornecer detalhes de preços e inventário

Pertinente a todos esses recursos, Aspose.BarCode Cloud Java SDK capacita os desenvolvedores Java a criar e digitalizar códigos de barras online usando a linguagem Java. Semelhante a nossas outras APIs de nuvem, o Aspose.BarCode Cloud Java SDK exige que você registre uma conta no Cloud Dashboard. Se você já registrou uma conta, pode continuar a usá-la. Depois de ter sua conta pronta, você pode usar os serviços em nuvem por meio de AppKey e AppSID.

Você pode considerar usar o armazenamento em nuvem Aspose ou usar qualquer serviço de armazenamento em nuvem de terceiros para armazenamento e recuperação de arquivos.

Simbologias de código de barras suportadas

O SDK suporta inúmeras simbologias de código de barras (mais de 60), como EAN, UPC, Codabar, PDF417, QR, MicroQR, Postnet, Planet, RM4SCC, etc. formatos, como JPEG, PNG, GIF, BMP, TIFF, EMF, WMF, SVG, EXIF e ICON. Para obter uma lista completa de simbologias compatíveis, visite Aspose.BarCode Cloud Java SDK.

Gerar código de barras

O SDK oferece a você a criação de imagens lineares, 2D e de códigos de barras postais em uma infinidade de formatos. Você pode especificar atributos de imagem de código de barras, como largura, altura, estilo de borda e formato de imagem de saída. Você também pode especificar o tipo de código de barras e os atributos de texto, como localização do texto e estilos de fonte, de acordo com os requisitos do seu aplicativo. Ele também fornece os recursos para definir a altura das barras e girar as imagens do código de barras em um ângulo.

O exemplo a seguir mostra as etapas para criar o Code39Standard Barcode, colocado no alinhamento Top-Center da página. A cor do texto é especificada como Marinho, a resolução Horizontal e Vertical é especificada como 200. A BarColor é especificada como Laranja, a cor de fundo é definida como prata e o formato de saída é o formato JPEG.

Antes de prosseguirmos, recomendamos que você visite o link a seguir, pois um token JWT é necessário ao acessar a API usando o comando cURL.

ondulação

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>"

Solicitar 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

Java

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();
}
Leitor de código de barras on-line

Imagem 1:- Visualização do código de barras resultante.

Leitor de código de barras on-line

escaneamento QR

Imagem 2: scanner de código QR

A Cloud API também é capaz de reconhecer informações de códigos de barras existentes. Você tem a opção de especificar os detalhes do tipo de código de barras para recuperação rápida ou permitir que a API determine o tipo automaticamente. Você também pode especificar detalhes de ChecksumValidation, DetectEncoding ou permitir que a API os determine durante o tempo de execução.

ondulação

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":{}}

Solicitar URL

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

Java

// Para exemplos completos e arquivos de dados, acesse 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());
código de barras 2d

Imagem 3:- Pré-visualização do código de barras 2D.

Se você executar o código acima na imagem especificada acima, o corpo da resposta renderizará a saída como

corpo da resposta

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

Conclusão

Neste artigo, aprendemos as etapas de como desenvolver um aplicativo de leitura de código de barras usando a API Java REST. Da mesma forma, a API também permite implementar um leitor de código QR a partir do arquivo de imagem. Além de usar o Java SDK, também temos a opção de escanear códigos de barras online usando comandos cURL. Nenhum download ou instalação de software adicional é necessário. Caso encontre algum problema ao usar a API, sinta-se à vontade para nos contatar através do fórum de suporte gratuito ao produto.

Artigos relacionados

Também recomendamos visitar os seguintes links para saber mais sobre: