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.xmldosyanı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
PATHiç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:
- Depoyu ve bağımlılığı ekleyin – yukarıdaki XML kod parçacığını
pom.xmldosyanıza kopyalayın. - Gerekli sınıfları içe aktarın –
Parser,Template,DocumentPageDatagibi sınıflarcom.groupdocs.parserpaketinde bulunur. - 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
| Belirti | Muhtemel neden | Çözüm |
|---|---|---|
| Barkod değeri döndürülmedi | Şablon koordinatları gerçek barkod konumuyla eşleşmiyor | PDF görüntüleyicisinin ölçüm aracını kullanarak X/Y koordinatlarını ve boyutu doğrulayın. |
Parser FileNotFoundException hatası veriyor | Yanlış 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ğu | Görüntü çözünürlüğü barkod tarayıcısı için çok düşük | Daha 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 tutuyor | PDF’yi daha küçük partiler halinde işleyin veya JVM yığın boyutunu artırın (-Xmx2g). |
Pratik uygulamalar
- Stok yönetimi – Tedarikçi PDF’lerinden barkodları otomatik olarak okuyarak stok veritabanlarını güncelleyin.
- Hukuki belge doğrulama – Denetim izleri için dijital imzalar içeren QR kodlarını çıkarın.
- 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‑resourcesbloğ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
TemplateBarcodenesnesini 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