Barcodes in Java generieren

Zeeshan Afridi 15 Februar 2024
  1. Arten von Barcodes
  2. Verwenden Sie die zxing-Bibliothek, um Barcodes in Java zu generieren
  3. Verwenden Sie die itextpdf-Bibliothek, um Barcodes in Java zu generieren
  4. Abschluss
Barcodes in Java generieren

Ein Strichcode besteht aus Strichen und Zwischenräumen. Es ist einfach eine maschinenlesbare Darstellung von Zeichen und Zahlen in Form eines Musters aus parallelen Linien unterschiedlicher Breite.

Diese Muster werden auf Einzelhandelsidentifikationskarten, Geschäftsartikeln und Postsendungen angebracht, um die Nummer, den Standort oder den Namen eines bestimmten Produkts zu identifizieren. Ein Strichcodesymbol hat fünf Komponenten, d. h. eine Ruhezone, ein Startzeichen, ein Stoppzeichen, Datenzeichen und eine weitere Ruhezone.

Arten von Barcodes

Um Barcodes zu identifizieren, werfen wir einen Blick auf die Arten von Barcodes, die unten gezeigt werden:

  1. Lineare (1D) Barcodes
  2. Matrix-(2D)-Barcodes

Einige der am häufigsten verwendeten Barcode-Formate sind UPC, Code 39, Extended Code39, Code 128, EAN 128 und QR-Code.

Wir können Barcodes in Java mit Hilfe der zwei am häufigsten verwendeten Bibliotheken, itextpdf und zxing, generieren.

Verwenden Sie die zxing-Bibliothek, um Barcodes in Java zu generieren

Wir können die Bibliothek zxing verwenden, um Barcodes in Java zu generieren. zxing bedeutet Zebrastreifen.

Um diese Bibliothek zu verwenden, müssen wir diese Schritte in IntelliJ IDEA ausführen.

  • Erstellen Sie ein neues Projekt mit der Sprache Java und bauen Sie system maven.
  • Öffnen Sie pom.xml und schreiben Sie den folgenden Code.
    <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>
    
  • Drücken Sie die Schaltfläche Maven-Änderungen laden oder drücken Sie die Tastenkombination ctrl+shift+o.

Wenn wir Abhängigkeiten synchronisieren, können wir zxing in unser Programm importieren.

Beispiel:

Dieser Code generiert ein Bild der beiden hauptsächlich verwendeten Barcodes, Code 128 und EAN 8. Denken Sie daran, dass Sie den Pfad der Bilder auf Ihrem Computer erstellen müssen.

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();
    }
  }
}

Ausgang:

Java-Barcode-Generierung

Verwenden Sie die itextpdf-Bibliothek, um Barcodes in Java zu generieren

Mit Hilfe der Bibliothek itextpdf können wir Barcodes in Java generieren und einfach im PDF-Format speichern. Um diese Bibliothek zu verwenden, müssen wir diese Schritte ausführen.

  • Laden Sie die Bibliothek itextpdf von hier herunter.
  • Öffnen Sie IntelliJ IDEA.
  • Erstellen Sie ein neues Projekt mit der Sprache Java.
  • Klicken Sie mit der rechten Maustaste auf den Projektordner.
  • Öffnen Sie die Moduleinstellung oder drücken Sie F4.
  • Klicken Sie auf die Registerkarte Abhängigkeiten.
  • Drücken Sie die Schaltfläche Hinzufügen oder drücken Sie Alt+Einfügen.
  • Wählen Sie itextpdf.jar, das wir von der itextpdf-Website heruntergeladen haben.

Wir können itextpdf in unseren Java-Code importieren, um Barcodes zu generieren.

Beispiel:

Mit Hilfe dieses Beispiels können wir Code 128 und EAN 13 Barcodes im PDF-Format hinterlegen.

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();
      }
    }
  }
}

Ausgang:

Java-Barcode-Generierung

Abschluss

Barcodes schreiben Produktdaten in Striche und alphanumerische Zeichen, wodurch es viel schneller und einfacher wird, Dinge in einem Geschäft einzugeben oder den Bestand in einem großen Lager zu verfolgen. Neben Benutzerfreundlichkeit und Geschwindigkeit umfassen die herausragenden Geschäftsvorteile von Barcodes Genauigkeit, interne Kontrolle und Preiseinsparungen – ihre Quadratur misst viele Barcodes.

Es gibt viele Formate von Barcodes. Wir verwenden unterschiedliche Formate in unterschiedlichen Situationen.

Mit Hilfe der Bibliotheken zxing und itextpdf können wir alle Barcode-Formate verwenden. Es gibt andere Bibliotheken, aber diese beiden sind einfach und schnell.

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn