قراءة الباركود من PDF في جافا

PDF قد تحتوي المستندات مثل الفواتير أو الإيصالات أو التقارير على معلومات مشفرة في شكل رمز شريطي. يمكننا اكتشاف وتحديد وقراءة الرموز الشريطية المضمنة في مستندات PDF برمجيًا. في هذه المقالة ، سوف نتعلم كيفية قراءة الباركود من مستند PDF باستخدام Java. علاوة على ذلك ، سوف نتعلم كيفية استخراج صور الباركود من مستندات PDF في Java.

تتناول هذه المقالة الموضوعات التالية:

  1. Java API لقراءة الرمز الشريطي من PDF
  2. قراءة الرمز الشريطي من ملف PDF
  3. تحويل PDF إلى صورة وقراءة الرمز الشريطي
  4. استخراج وقراءة الرمز الشريطي من PDF
  5. قراءة الباركود من PDF باستخدام PngDevice
  6. البحث عن صورة الرمز الشريطي وقراءتها من ملف PDF

Java API لقراءة الباركود من PDF

لقراءة رمز شريطي من مستند PDF ، سوف نتبع إجراء من خطوتين. أولاً ، سنستخدم Aspose.PDF for Java API لتحميل مستند PDF وتقديم صفحاته إلى صور نقطية. بعد ذلك ، سنقرأ الباركود من الصور المعروضة باستخدام Aspose.BarCode for Java API.

يرجى إما تنزيل JAR لواجهات برمجة التطبيقات أو إضافة تكوين pom.xml التالي في تطبيق Java المستند إلى Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-barcode</artifactId>
    <version>22.8</version>
</dependency>
    
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.8</version>
</dependency>

قراءة الباركود من PDF باستخدام Java

يوفر Aspose.PDF API فئة Document التي تمثل مستند PDF. طريقة ()convertToPNGMemoryStream لواجهة برمجة التطبيقات تعرض صفحة PDF في دفق صورة في مصفوفة البايت []. يوفر Aspose.BarCode API فئة BarCodeReader التي تمكننا من إجراء readBarCodes عمليات لاكتشاف الرمز الشريطي. تخزن فئة BarCodeResult معلومات الباركود المكتشفة مثل نوع الرمز الشريطي ونص الكود والمنطقة والمعلمات الأخرى.

يمكننا قراءة صور الباركود المضمنة في أي من صفحات مستند PDF باتباع الخطوات الواردة أدناه:

  1. أولاً ، قم بتحميل مستند PDF باستخدام فئة المستند.
  2. بعد ذلك ، مرر عبر جميع الصفحات وقم بالتقديم في الدفق.
  3. ثم قم بإنشاء مثيل لفئة BarCodeReader مع كائن دفق.
  4. بعد ذلك ، قم باستدعاء طريقة ()readBarCodes للحصول على كائن BarCodeResult.
  5. أخيرًا ، اعرض معلومات الباركود.

يوضح مثال الكود التالي كيفية قراءة رمز شريطي من مستند PDF باستخدام Java.

// يوضح مثال الرمز هذا كيفية قراءة رمز شريطي من مستند PDF باستخدام Java.
// المسار إلى المستند
String file = "C:\\Files\\BarCode\\sample-PDF-with-Barcodes.pdf";

// قم بتحميل مستند PDF
com.aspose.pdf.Document pdfDoc = new com.aspose.pdf.Document(file);

// تابع جميع صفحات PDF بدءًا من الصفحة 1
for (int i = 1; i <= pdfDoc.getPages().size(); ++i)
{
    // تقديم صفحة PDF إلى الدفق
    byte[] ms = pdfDoc.getPages().get_Item(i).convertToPNGMemoryStream();
    InputStream stream = new ByteArrayInputStream(ms);

    // التعرف على الرموز الشريطية من دفق الصفحة
    BarCodeReader reader = new BarCodeReader(stream);

    // أظهر النتائج
  for (BarCodeResult result : reader.readBarCodes()) {
    System.out.println("CodeText: " + result.getCodeText());
    System.out.println("Symbology type: " + result.getCodeType());
    System.out.println(("-------------------------------"));
  }
}
CodeText: Aspose.Barcode Pdf417 Example
Symbology type: Pdf417
-------------------------------
CodeText: Aspose.Barcode QR Example
Symbology type: QR
-------------------------------
CodeText: Aspose.Barcode DataMatrix Example
Symbology type: DataMatrix

الرجاء تنزيل مستند PDF المُدخل مع الرمز الشريطي المستخدم في منشور المدونة هذا.

قم بتحويل ملفات PDF إلى صورة وقراءة الباركود باستخدام Java

يمكننا أيضًا قراءة الباركود من مستند PDF عن طريق تحويل صفحات PDF إلى صور. تسمح فئة PdfConverter من API بتحويل كل صفحة من ملف PDF إلى صورة. بعد ذلك ، سنقرأ معلومات الباركود من الصورة المحولة.

يمكننا قراءة الرموز الشريطية من صفحات PDF المحولة باتباع الخطوات الواردة أدناه:

  1. أولاً ، قم بتحميل مستند PDF باستخدام فئة المستند.
  2. بعد ذلك ، قم بإنشاء مثيل لفئة PdfConverter.
  3. اختياريًا ، قم بتعيين خيارات التجسيد باستخدام ()setBarcodeOptimization.
  4. ثم قم بتعيين دقة الصورة.
  5. بعد ذلك ، حدد مجموعة من الصفحات لعرضها في الصور باستخدام ()setStartPage و ()setEndPage.
  6. ثم ، قم باستدعاء طريقة ()doConvert لتحويل الصفحات المحددة إلى صور.
  7. بعد ذلك ، احفظ الصور في حلقة.
  8. بعد ذلك ، قم بإنشاء مثيل لفئة BarCodeReader باستخدام مسار ملف الصورة المحفوظ.
  9. بعد ذلك ، قم باستدعاء طريقة ()readBarCodes للحصول على كائن BarCodeResult.
  10. أخيرًا ، اعرض معلومات الباركود.

يوضح مثال الكود التالي كيفية تحويل صفحات PDF إلى صور وقراءة الرموز الشريطية باستخدام Java.

// يوضح المثال التالي من التعليمات البرمجية كيفية تحويل صفحات PDF إلى صور باستخدام محول PDF وقراءة الرموز الشريطية.
// المسار إلى المستند
String folderPath = "C:\\Files\\BarCode\\";

// مسار ملف الإدخال
String file = folderPath + "sample-PDF-with-Barcodes.pdf";

// قم بتحميل مستند PDF
com.aspose.pdf.Document pdfDoc = new com.aspose.pdf.Document(file);

// تهيئة PdfConvertor
com.aspose.pdf.facades.PdfConverter pdfConverter = new com.aspose.pdf.facades.PdfConverter(pdfDoc);

// ضبط تحسين الباركود
pdfConverter.getRenderingOptions().setBarcodeOptimization(true);

// ضبط دقة الصفحة
// 300 نقطة في البوصة هي الدقة القياسية
pdfConverter.setResolution(new com.aspose.pdf.devices.Resolution(300));

// اضبط كل الصفحات على تحويلها إلى صور
pdfConverter.setStartPage(1); //starts from page 1
pdfConverter.setEndPage(pdfConverter.getDocument().getPages().size());

// تجسيد الصفحات المحددة في الصور
pdfConverter.doConvert();
int imageCount = 1;

while (pdfConverter.hasNextImage())
{
    // تقديم الصفحة الحالية للصورة
    String strBarCodeImage = folderPath + imageCount + ".jpg";
    pdfConverter.getNextImage(strBarCodeImage);

    // التعرف على الرموز الشريطية من الصورة المعروضة للصفحة
    BarCodeReader reader = new BarCodeReader(strBarCodeImage);

    // أظهر النتائج
    for (BarCodeResult result : reader.readBarCodes()) {
    System.out.println("CodeText: " + result.getCodeText());
    System.out.println("Symbology type: " + result.getCodeType());
    System.out.println(("-------------------------------"));
  }
}

استخراج وقراءة الباركود من PDF باستخدام Java

وبالمثل ، يمكننا أيضًا التعرف على صور الباركود المضمنة في صفحات PDF باستخدام فئة PdfExtractor. يسمح باستخراج الصور من ملف PDF ، وبعد ذلك سنقرأ معلومات الباركود من الصورة المستخرجة.

يمكننا قراءة الباركود من الصور المستخرجة باتباع الخطوات الواردة أدناه:

  1. أولاً ، قم بإنشاء مثيل لفئة PdfExtractor.
  2. بعد ذلك ، قم بربط مستند PDF المدخل باستخدام طريقة ()bindPdf.
  3. بعد ذلك ، قم بتعيين نطاق الصفحات لاستخراج الصور.
  4. بعد ذلك ، قم باستدعاء طريقة ()extractImage لاستخراج الصور.
  5. ثم احفظ الصورة في حلقة.
  6. بعد ذلك ، قم بإنشاء مثيل لفئة BarCodeReader بمسار الصورة.
  7. بعد ذلك ، قم باستدعاء طريقة ()readBarCodes للحصول على كائن BarCodeResult.
  8. أخيرًا ، اعرض معلومات الباركود.

يوضح مثال الكود التالي كيفية استخراج صورة رمز شريطي وقراءتها من مستند PDF باستخدام Java.

// يوضح المثال التالي من التعليمات البرمجية كيفية تحويل صفحات PDF إلى صور باستخدام PdfExtractor وقراءة الرموز الشريطية.
// المسار إلى المستند
String folderPath = "C:\\Files\\BarCode\\";

// ملف الإدخال
String file = folderPath + "sample-PDF-with-Barcodes.pdf";

// اربط وثيقة PDF
com.aspose.pdf.facades.PdfExtractor pdfExtractor = new com.aspose.pdf.facades.PdfExtractor();
pdfExtractor.bindPdf(file);

// تعيين نطاق الصفحات لاستخراج الصور
pdfExtractor.setStartPage(1);
pdfExtractor.setEndPage(3);

// استخرج الصور
pdfExtractor.extractImage();

int imageCount = 1;

// حفظ الصور للدفق في حلقة
while (pdfExtractor.hasNextImage())
{
  // احفظ الصورة
  String strBarCodeImage = folderPath + imageCount + ".jpg";
  pdfExtractor.getNextImage(strBarCodeImage);

  // التعرف على الرموز الشريطية من الصورة
  BarCodeReader reader = new BarCodeReader(strBarCodeImage);

  for (BarCodeResult result : reader.readBarCodes()) {
    System.out.println("CodeText: " + result.getCodeText());
    System.out.println("Symbology type: " + result.getCodeType());
    System.out.println(("-------------------------------"));
  }
}

قراءة الباركود من ملف PDF باستخدام PngDevice في Java

يمكننا أيضًا قراءة الرموز الشريطية عن طريق تحويل صفحات مستند PDF إلى صور PNG باستخدام فئة PngDevice من API. يوفر طريقة العملية (صفحة الصفحة ، إخراج OutputStream) التي تحول الصفحة إلى PNG وتحفظها في تدفق الإخراج. تقوم الطريقة processToBufferedImage (صفحة الصفحة) الخاصة بهذه الفئة بتحويل الصفحة إلى BufferedImage.

يمكننا قراءة الرموز الشريطية من صفحات PDF المحولة كصور PNG باتباع الخطوات الواردة أدناه:

  1. أولاً ، قم بتحميل مستند PDF باستخدام فئة المستند.
  2. بعد ذلك ، قم بإنشاء مثيل لفئة PngDevice.
  3. بعد ذلك ، قم بإجراء تكرار عبر جميع الصفحات واستدعاء طريقة ()processToBufferedImage لتقديمها في الصورة.
  4. بعد ذلك ، قم بإنشاء مثيل لفئة BarCodeReader مع الكائن BufferedImage.
  5. بعد ذلك ، قم باستدعاء طريقة ()readBarCodes للحصول على كائن BarCodeResult.
  6. أخيرًا ، اعرض معلومات الباركود.

يوضح مثال الكود التالي كيفية تحويل صفحات PDF وقراءة الرموز الشريطية باستخدام Java.

// يوضح المثال التالي من التعليمات البرمجية كيفية تحويل صفحات PDF إلى صور باستخدام PngDevice وقراءة الرموز الشريطية.
// المسار إلى المستند
String file = "C:\\Files\\BarCode\\sample-PDF-with-Barcodes.pdf";

// قم بتحميل مستند PDF
com.aspose.pdf.Document pdfDoc = new com.aspose.pdf.Document(file);

// قم بإنشاء جهاز PNG بدقة قياسية 300 نقطة في البوصة
com.aspose.pdf.devices.PngDevice pngDevice = new com.aspose.pdf.devices.PngDevice(new com.aspose.pdf.devices.Resolution(300));

// تابع جميع صفحات PDF بدءًا من الصفحة 1
for (int i = 1; i <= pdfDoc.getPages().size(); ++i)
{
    // عرض صفحة PDF على الصورة المخزنة مؤقتًا
    BufferedImage img = pngDevice.processToBufferedImage(pdfDoc.getPages().get_Item(i));

    // التعرف على الرمز الشريطي من الصورة المعروضة للصفحة
    BarCodeReader reader = new BarCodeReader(img);

    // أظهر النتائج
    for (BarCodeResult result : reader.readBarCodes()) {
    System.out.println("CodeText: " + result.getCodeText());
    System.out.println("Symbology type: " + result.getCodeType());
    System.out.println(("-------------------------------"));
  }
}

البحث عن صور الباركود وقراءتها من PDF باستخدام Java

يمكننا العثور على صور الباركود واستخراجها من مستندات PDF باستخدام فئة ImagePlacementAbsorber. يقوم بإجراء بحث عن استخدام الصور ويوفر الوصول إلى نتائج البحث عبر مجموعة ImagePlacements. تسمح هذه الطريقة بالتعرف على الرموز الشريطية ذات الدقة الأصلية. العيب الوحيد هو أنه قد لا يتعرف على تنسيقات المتجهات بشكل صحيح.

يمكننا العثور على الرموز الشريطية وقراءتها من مستندات PDF باتباع الخطوات الواردة أدناه:

  1. أولاً ، قم بتحميل مستند PDF باستخدام فئة المستند.
  2. بعد ذلك ، قم بإنشاء مثيل لفئة ImagePlacementAbsorber.
  3. ثم ، قم باستدعاء طريقة الزيارة () لكل صفحة في حلقة.
  4. بعد ذلك ، قم بإجراء حلقة عبر جميع الصور الموجودة في مجموعة ImagePlacements.
  5. ثم احفظ الصورة في تدفق الذاكرة.
  6. بعد ذلك ، قم بإنشاء مثيل لفئة BarCodeReader مع كائن الدفق.
  7. بعد ذلك ، قم باستدعاء طريقة ()readBarCodes للحصول على كائن BarCodeResult.
  8. أخيرًا ، اعرض معلومات الباركود.

يوضح مثال الكود التالي كيفية البحث عن صور الباركود من ملف PDF وقراءتها باستخدام Java.

// يوضح مثال الرمز هذا كيفية قراءة رمز شريطي من مستند PDF باستخدام ImagePlacementAbsorber.
// المسار إلى المستند
String file = "C:\\Files\\BarCode\\sample-PDF-with-Barcodes.pdf";

// قم بتحميل مستند PDF
com.aspose.pdf.Document pdfDoc = new com.aspose.pdf.Document(file);

// تهيئة ImagePlacementAbsorber
com.aspose.pdf.ImagePlacementAbsorber imagePlacementAbsorber = new com.aspose.pdf.ImagePlacementAbsorber();

// قم بمعالجة جميع صفحات PDF في المستند بدءًا من الصفحة 1
for (int i = 1; i <= pdfDoc.getPages().size(); ++i)
{
    // قم بزيارة الصفحة إنشاء مستخرج الصور
    imagePlacementAbsorber.visit(pdfDoc.getPages().get_Item(i));

    // استخرج جميع الصور من صفحة PDF
    for (com.aspose.pdf.ImagePlacement imagePlacement : imagePlacementAbsorber.getImagePlacements()) {
      // تقديم صفحة PDF إلى الدفق
      byte[] ms = pdfDoc.getPages().get_Item(i).convertToPNGMemoryStream();
      InputStream stream = new ByteArrayInputStream(ms);

      // التعرف على الباركود من تدفق الصفحة
      BarCodeReader reader = new BarCodeReader(stream);

      // أظهر النتائج
      for (BarCodeResult result : reader.readBarCodes()) {
        System.out.println("CodeText: " + result.getCodeText());
        System.out.println("Symbology type: " + result.getCodeType());
        System.out.println(("-------------------------------"));
      }
    }
}

احصل على رخصة مجانية

يمكنك الحصول على ترخيص مؤقت مجاني لتجربة المكتبات دون قيود التقييم.

استنتاج

في هذه المقالة ، تعلمنا

  • كيفية اكتشاف وقراءة الرموز الشريطية من مستندات PDF ؛
  • طرق مختلفة لاستخراج الصور من مستند PDF ؛
  • لفك شفرة الرمز الشريطي المضمن في Java.

إلى جانب قراءة الرمز الشريطي من PDF في Java ، يمكنك معرفة المزيد حول واجهات برمجة التطبيقات باستخدام توثيق Aspose.BarCode و وثائق Aspose.PDF. في حالة وجود أي غموض ، لا تتردد في الاتصال بنا على منتدى الدعم المجاني.

أنظر أيضا