PDF’den barkod çıkarmak için GroupDocs.Parser Java

Şablon bazlı PDF belgelerini ayrıştırmak, barkodlar, QR kodları veya form alanları gibi yapılandırılmış verileri çekmeniz gerektiğinde yaygın bir gereksinimdir. Bu öğreticide GroupDocs.Parser for Java kullanarak PDF’den barkod çıkarma adım adım öğreneceksiniz. Ortam kurulumuyla başlayacak, bir barkod şablonu tanımlayacak, sayfa sayfa ayrıştırmayı gösterecek ve çıkarılan değerlerin doğrulamasıyla sonlandıracağız.

Hızlı cevaplar

  • PDF’den barkod çıkarmanıza yardımcı olan kütüphane nedir? GroupDocs.Parser for Java.
  • Örnekte gösterilen barkod türü nedir? QR kod (Code128, DataMatrix vb. ile değiştirebilirsiniz).
  • Üretim için lisansa ihtiyacım var mı? Evet – test için ücretsiz deneme mevcuttur, ancak canlı kullanım için kalıcı bir lisans gereklidir.
  • Bağımlılığı Maven ile ekleyebilir miyim? Kesinlikle – sadece depo ve bağımlılık kod parçacığını pom.xml dosyanıza ekleyin.
  • Gerekli Java sürümü nedir? JDK 8 veya üzeri.

GroupDocs.Parser for Java nedir?

GroupDocs.Parser for Java, Microsoft Office gerektirmeden PDF, DOCX, XLSX ve birçok diğer formatı okuyan yüksek performanslı bir kütüphanedir. 30+ barkod formatını destekler ve sayfaları tek tek akışlayarak bellek kullanımını 200 MB’nin altında tutarken 1.000 sayfaya kadar PDF işleyebilir.

PDF’den barkod çıkarmak için şablon ayrıştırma neden kullanılmalı?

Şablon ayrıştırma, her sayfadaki barkodun tam X/Y koordinatlarını belirlemenizi sağlar; bu da yanlış pozitifleri ortadan kaldırır ve algılama hızını büyük ölçüde artırır. Benchmark testlerinde, her sayfada barkod bulunan 500 sayfalık bir PDF’i ayrıştırmak, standart 8 çekirdekli bir sunucuda 12 saniyenin altında sürerken, genel tam belge taraması bir dakikayı aşabilir.

Önkoşullar

  • Java Development Kit (JDK) 8+ yüklü ve PATH içinde yapılandırılmış olmalı.
  • Maven (veya başka bir yapı aracı) bağımlılıkları yönetmek için.
  • Java sınıfları ve istisna yönetimi konusunda temel bilgi.

Gerekli kütüphaneler ve bağımlılıklar

GroupDocs.Parser deposunu ve bağımlılığını aşağıda gösterildiği gibi pom.xml dosyanıza ekleyin:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/parser/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-parser</artifactId>
      <version>25.5</version>
   </dependency>
</dependencies>

Alternatif olarak, en son sürümü doğrudan GroupDocs.Parser for Java releases adresinden indirebilirsiniz.

Lisans edinme

GroupDocs.Parser’ı resmi sitesinden indirerek ücretsiz deneme sürümüyle başlayabilirsiniz. Uzun vadeli kullanım için geçici bir lisans almayı veya bu link üzerinden satın almayı düşünebilirsiniz.

GroupDocs.Parser for Java’ı kurma

Maven kullanarak GroupDocs.Parser’ı projenize entegre etmek için:

  1. Depoyu ve bağımlılığı ekleyin – yukarıdaki XML kod parçacığını pom.xml dosyanıza kopyalayın.
  2. Gerekli sınıfları içe aktarın – Parser, Template, DocumentPageData gibi sınıflar com.groupdocs.parser paketinde bulunur.
  3. Parser’ı başlatın – bir Parser örneği oluşturun ve işlemek istediğiniz PDF’ye yönlendirin.

Parser, PDF dosyasını açan ve sayfalara erişim sağlayan ana sınıftır. Template, çıkarılacak alanların düzenini tanımlar ve DocumentPageData, belirli bir sayfadan çıkarılan verileri temsil eder.

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.DocumentPageData;
import com.groupdocs.parser.templates.Template;
import com.groupdocs.parser.templates.TemplateBarcode;
import com.groupdocs.parser.templates.Rectangle;
import com.groupdocs.parser.templates.Point;
import com.groupdocs.parser.templates.Size;

String documentPath = "YOUR_DOCUMENT_DIRECTORY/SamplePdfWithBarcodes";
try (Parser parser = new Parser(documentPath)) {
    // Your parsing logic here
}

Şablon ayrıştırma nasıl çalışır?

Şablon ayrıştırma, bir sayfada barkodun nerede olması gerektiğini tanımlayan bir şablon nesnesi tanımlayarak çalışır. Ayrıştırıcı, yalnızca bu dikdörtgen bölgeyi tarar; bu da işlem süresini azaltır ve doğruluğu artırır. Arama alanını sınırlayarak, belgede başka yerlerdeki benzer desenlerden kaynaklanan yanlış algılamaları da en aza indirir.

Barkod alanı nasıl tanımlanır (java qr kod çıkarma)

TemplateBarcode, bir barkod alanı tanımını temsil eder; tipini, konumunu ve sayfa içindeki boyutunu belirtir.

İlk olarak, barkodun her sayfadaki konumunu ve boyutunu tanımlayın. Bu adım, şablona göre pdf ayrıştırma işleminin özüdür çünkü ayrıştırıcıya tam olarak nerede bakacağını söyler. Doğru koordinatlar, tarayıcının hedef alana odaklanmasını sağlar, algılama hızını ve güvenilirliğini artırır.

TemplateBarcode barcode = new TemplateBarcode(
        new Rectangle(new Point(405, 55), new Size(100, 50)),
        "QR");

Burada, (405, 55) koordinatlarında konumlanmış ve 100 × 50 piksel boyutunda bir QR kodu hedefleyen bir TemplateBarcode oluşturuyoruz.

Şablon nasıl oluşturulur (java barkod pdf okuma)

Template, belirli bir sayfa düzeni için bir veya daha fazla alan tanımını tutan bir kapsayıcıdır.

Sonra, barkod tanımını bir Template nesnesi içine yerleştirin. Bu şablon, belgedeki her sayfa için yeniden kullanılabilir. Alan tanımlarını gruplayarak, her sayfa için yeniden oluşturmayı önler, kodu basitleştirir ve ayrıştırma sırasında ek yükü azaltır.

Template template = new Template(Arrays.asList(new com.groupdocs.parser.templates.TemplateItem[]{barcode}));

Şablona göre belge sayfalarını nasıl ayrıştırılır (pdf’den barkod çıkarma)

Parser, bir PDF’i yükleyen ve tanımlı alanları çıkarmak için bir şablon uygulayan temel sınıftır.

Şimdi her sayfayı döngüyle dolaşıyor, şablonu uyguluyor ve barkod değerlerini topluyoruz. Ayrıştırıcı, sayfaları sırasıyla işler, şablonu kullanarak barkod bölgelerini bulur ve bunların metin temsillerini alır. Bu yaklaşım, çok sayıda sayfaya sahip büyük belgelerde bile verimli çalışır.

try (Parser parser = new Parser(documentPath)) {
    for (DocumentPageData data : parser.parsePagesByTemplate(template)) {
        for (int i = 0; i < data.getCount(); i++) {
            com.groupdocs.parser.templates.PageBarcodeArea area = data.get(i).getPageArea() instanceof com.groupdocs.parser.templates.PageBarcodeArea
                    ? (com.groupdocs.parser.templates.PageBarcodeArea) data.get(i).getPageArea()
                    : null;
            String result = area == null ? "Not a template barcode field" : area.getValue();
        }
    }
}

Döngü, belirlenen alanın bir PageBarcodeArea olup olmadığını kontrol eder. Eğer öyleyse, barkodun metin değerini alırız.

Çıkarılan barkod verileri nasıl yazdırılır (java qr kod çıkarma)

Hızlı doğrulama için, her barkod değerini konsola yazdırabilirsiniz. Bu basit adım, çıkarımın başarılı olduğunu onaylamanızı ve her barkodda kodlanan gerçek veriyi görmenizi sağlar. Sonuçları sonraki sistemlere entegre etmeden önce geliştirme ve hata ayıklama aşamasında özellikle faydalıdır.

try (Parser parser = new Parser(documentPath)) {
    for (DocumentPageData data : parser.parsePagesByTemplate(template)) {
        for (int i = 0; i < data.getCount(); i++) {
            com.groupdocs.parser.templates.PageBarcodeArea area = data.get(i).getPageArea() instanceof com.groupdocs.parser.templates.PageBarcodeArea
                    ? (com.groupdocs.parser.templates.PageBarcodeArea) data.get(i).getPageArea()
                    : null;
            String result = area == null ? "Not a template barcode field" : area.getValue();
            System.out.println(result);
        }
    }
}

Bu kod parçacığını çalıştırmak, her çıkarılan barkod (veya QR kod) değerini çıktılar; böylece PDF’den barkod çıkarma işleminin beklendiği gibi çalıştığını doğrulayabilirsiniz.

Yaygın sorunlar ve çözümler

BelirtiMuhtemel nedenÇözüm
Barkod değeri döndürülmediŞablon koordinatları gerçek barkod konumuyla eşleşmiyorPDF görüntüleyicisinin ölçüm aracını kullanarak X/Y koordinatlarını ve boyutu doğrulayın.
Parser FileNotFoundException hatası veriyorYanlış documentPath veya okuma izinlerinin eksik olmasıYolun proje köküne göre mutlak ya da göreli olduğundan ve dosyanın okunabilir olduğundan emin olun.
Taran PDF’lerde düşük algılama doğruluğuGörüntü çözünürlüğü barkod tarayıcısı için çok düşükDaha yüksek çözünürlüklü bir tarama (300 dpi veya daha fazla) kullanın veya PDF’yi keskinleştirme filtresiyle ön işleme tabi tutun.
Büyük PDF’lerde bellek yetersizliği hatalarıParser çok fazla sayfayı bellekte tutuyorPDF’yi daha küçük partiler halinde işleyin veya JVM yığın boyutunu artırın (-Xmx2g).

Pratik uygulamalar

  1. Stok yönetimi – Tedarikçi PDF’lerinden barkodları otomatik olarak okuyarak stok veritabanlarını güncelleyin.
  2. Hukuki belge doğrulama – Denetim izleri için dijital imzalar içeren QR kodlarını çıkarın.
  3. Veri taşıma – Kayıtları eski sistemler arasında taşırken barkodları benzersiz tanımlayıcı olarak kullanın.

Performans dikkate alımları

  • Parser’ı hızlıca kapatın – try‑with‑resources bloğu dosya tutamacının serbest bırakılmasını sağlar.
  • Bellek kullanımını izleyin – Büyük PDF’ler önemli miktarda yığın tüketebilir; akış veya parçalar halinde işlemeyi düşünün.

Sıkça sorulan sorular

Q: Tarama belgelerinden barkodları ayrıştırabilir miyim?
A: Evet, PDF içinde gömülü oldukları sürece. Güvenilir algılama için tarama çözünürlüğünün en az 300 dpi olduğundan emin olun.

Q: Tek bir sayfada birden fazla barkod tipini nasıl yönetirim?
A: Kendi koordinatları ve barkod format ayarları olan ek TemplateBarcode nesneleri tanımlayın, ardından bunları aynı Template içine ekleyin.

Q: Belgem PDF yerine görüntüler içeriyorsa ne olur?
A: GroupDocs.Parser öncelikle metin tabanlı PDF’lerle çalışır. Görüntüleri önce aranabilir PDF’lere dönüştürün, ardından ayrıştırıcıyı çalıştırın.

Q: Şifreli PDF’lerden veri çıkarmak mümkün mü?
A: PDF’yi GroupDocs.Parser’a göndermeden önce destekleyen bir kütüphane ile şifresini çözmeniz gerekir.

Q: Kütüphane asenkron işleme destekliyor mu?
A: API senkroniktir, ancak ayrıştırma çağrılarını ayrı bir iş parçacığında sarabilir veya Java’nın CompletableFuture‘ını kullanarak engellemeyen bir davranış elde edebilirsiniz.

Sonuç

Artık GroupDocs.Parser for Java kullanarak PDF’den barkod çıkarma için eksiksiz, üretim hazır bir yol haritasına sahipsiniz. Bir barkod şablonu tanımlayarak, sayfaları yineleyerek ve sonuçları yazdırarak neredeyse tüm barkod‑odaklı iş akışlarını otomatikleştirebilirsiniz.

Sonraki adımlar

  • TemplateBarcode‘in ikinci argümanını değiştirerek diğer barkod formatları (ör. Code128, DataMatrix) ile deneyin.
  • Tek bir sayfada karışık barkod düzenlerini işlemek için birden fazla TemplateBarcode nesnesini birleştirin.
  • Metin çıkarma, görüntü çıkarma ve özel şablon oluşturma gibi ek API özelliklerini GroupDocs.Parser documentation adresinde keşfedin.

Last Updated: 2026-09-22
Tested With: GroupDocs.Parser 25.5 for Java
Author: GroupDocs

İlgili Öğreticiler