Generar códigos de barras en Java
- Tipos de códigos de barras
-
Utilice la biblioteca
zxing
para generar códigos de barras en Java -
Utilice la biblioteca
itextpdf
para generar códigos de barras en Java - Conclusión
Un código de barras consta de barras y espacios. Es simplemente una representación legible por máquina de caracteres y números en forma de un patrón de líneas paralelas de diferentes anchos.
Estos patrones se colocan en las tarjetas de identificación minorista, los artículos de la tienda y el correo postal para identificar el número, la ubicación o el nombre de un producto en particular. Un símbolo de código de barras tiene cinco componentes, es decir, una zona silenciosa, un carácter de inicio, un carácter de parada, caracteres de datos y otra zona silenciosa.
Tipos de códigos de barras
Para identificar los códigos de barras, echemos un vistazo a los tipos de códigos de barras que se muestran a continuación:
- Códigos de barras lineales (1D)
- Códigos de barras de matriz (2D)
Algunos de los formatos de código de barras más utilizados son UPC, Code 39, Extended Code39, Code 128, EAN 128 y QR Code.
Podemos generar códigos de barras en Java con la ayuda de las dos bibliotecas más utilizadas, que son itextpdf
y zxing
.
Utilice la biblioteca zxing
para generar códigos de barras en Java
Podemos usar la biblioteca zxing
para generar códigos de barras en Java. zxing
significa Paso de cebra.
Para usar esta biblioteca, debemos seguir estos pasos en IntelliJ IDEA.
-
Crea un nuevo proyecto con el lenguaje Java y construye el sistema maven.
-
Abra
pom.xml
y escriba el siguiente código.<dependencies> <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.0</version> </dependency> <dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.3.0</version> </dependency> </dependencies>
-
Presione el botón
cargar cambios maven
o presione la tecla de método abreviado ctrl+shift+o.
Cuando sincronizamos dependencias, podemos importar zxing
en nuestro programa.
Ejemplo:
Este código generará una imagen de los dos códigos de barras mayoritariamente utilizados, Código 128 y EAN 8. Recuerda, debes crear la ruta de las imágenes en tu computadora.
package org.example;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.oned.Code128Writer;
import com.google.zxing.oned.EAN8Writer;
import java.nio.file.Paths;
public class Main {
public static void main(String[] args) {
try {
// Content for encode function of code128writer
String text = "http://www.google.com";
// Path where we save our barcode
String path = "E:\\barcode image\\code128barcode.jpg";
// Barcode code128 writer object
Code128Writer c128writer = new Code128Writer();
// Represents a 2D matrix of bits. Create a bar code with a width of 500 and a height of 300
BitMatrix matrix = c128writer.encode(text, BarcodeFormat.CODE_128, 500, 300);
MatrixToImageWriter.writeToPath(matrix, "jpg", Paths.get(path));
System.out.println("Barcode image file is created...");
// Digits for encode function of EAN_8
String digits = "12345678";
// Path where we save our barcode
path = "E:\\barcode image\\EANbarcode.jpg";
// Barcode EAN8 writer object
EAN8Writer EANwriter = new EAN8Writer();
/*Represents a 2D matrix of bits.
Create an EAN bar code of width 500 and height 300*/
matrix = EANwriter.encode(digits, BarcodeFormat.EAN_8, 500, 300);
MatrixToImageWriter.writeToPath(matrix, "jpg", Paths.get(path));
System.out.println("Barcode image file is created...");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Producción:
Utilice la biblioteca itextpdf
para generar códigos de barras en Java
Con la ayuda de la biblioteca itextpdf
, podemos generar códigos de barras en Java y almacenarlos fácilmente en formato PDF. Para utilizar esta biblioteca, debemos seguir estos pasos.
-
Descarga la biblioteca
itextpdf
desde aquí. -
Abra IntelliJ IDEA.
-
Cree un nuevo proyecto con el lenguaje Java.
-
Haga clic derecho en la carpeta del proyecto.
-
Abra la configuración del módulo o presione F4.
-
Haga clic en la pestaña
dependencias
. -
Presione el botón
agregar
o presione Alt+Insertar. -
Seleccione
itextpdf.jar
, que descargamos del sitio webitextpdf
.
Podemos importar itextpdf
en nuestro código Java para generar códigos de barras.
Ejemplo:
Con la ayuda de este ejemplo, podemos almacenar los códigos de barras Code 128 y EAN 13 en formato PDF.
package org.example;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Image;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.pdf.Barcode128;
import com.itextpdf.text.pdf.BarcodeEAN;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileOutputStream;
public class Main {
public static void main(String[] args) {
Main.barcodePDF("mybarcodepdf.pdf", "Zeshan");
}
public static void barcodePDF(String pdfFilename, String myString) {
// declare object of document class of the itextpdf library
Document doc = new Document();
PdfWriter pdfWriter = null;
try {
// initialize docWriter object with the path of the pdf file
// mention the path of your computer
pdfWriter =
PdfWriter.getInstance(doc, new FileOutputStream("E:\\my barcode pdf\\" + pdfFilename));
// set pdf file properties
doc.addAuthor("zeshan");
doc.addCreationDate();
doc.addProducer();
doc.addCreator("google.com");
doc.addTitle("java barcode generation");
doc.setPageSize(PageSize.A4);
doc.open();
/*PdfContentByte is an object that contains the user-positioned text and
graphic contents of a page*/
PdfContentByte cb = pdfWriter.getDirectContent();
// type of barcode
Barcode128 code128 = new Barcode128();
// remove all leading and trail space and pass to set code
code128.setCode(myString.trim());
code128.setCodeType(Barcode128.CODE128);
/*create the image of the barcode with null bar color and null text color
set its position and scale percent*/
Image code128Image = code128.createImageWithBarcode(cb, null, null);
code128Image.setAbsolutePosition(10, 700);
code128Image.scalePercent(150);
// Add image to pdf file
doc.add(code128Image);
// Type of barcode
BarcodeEAN codeEAN = new BarcodeEAN();
// Remove all leading and trail space and pass to set code
codeEAN.setCode(myString.trim());
// Set barcode type
codeEAN.setCodeType(BarcodeEAN.EAN13);
/* Create an image of the barcode with a null bar color and
null text color its position and scale percent */
Image codeEANImage = code128.createImageWithBarcode(cb, null, null);
codeEANImage.setAbsolutePosition(10, 600);
codeEANImage.scalePercent(150);
// Add image to pdf file
doc.add(codeEANImage);
System.out.println("Barcode in PDF file is created...");
} catch (Exception ex) {
ex.printStackTrace();
} finally {
// close doc and docwriter if they are not null
if (doc != null) {
doc.close();
}
if (pdfWriter != null) {
pdfWriter.close();
}
}
}
}
Producción:
Conclusión
Los códigos de barras inscriben los datos del producto en barras y caracteres alfanuméricos, lo que hace que sea mucho más rápido y fácil ingresar cosas en una tienda o rastrear el inventario en un almacén excedente. Además de la facilidad y la velocidad, las ventajas comerciales destacadas de los códigos de barras abarcan la precisión, el control interno y el ahorro de precios: su medida cuadrada es la de muchos códigos de barras.
Hay muchos formatos de códigos de barras. Usamos diferentes formatos en diferentes situaciones.
Podemos utilizar todos los formatos de código de barras con la ayuda de las bibliotecas zxing
e itextpdf
. Hay otras bibliotecas, pero estas dos son fáciles y rápidas.
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn