PDF টেক্সট এক্সট্র্যাকশন এবং বিশ্লেষণের জন্য ফ্রি C# .NET API

PDF ফাইল থেকে সহজে টেক্সট, ছবি, মেটাডেটা এবং PDF কাঠামো তথ্য বের করার জন্য শীর্ষস্থানীয় ওপেন সোর্স .NET লাইব্রেরি। PDF-এ নতুন পেজ, টেবিল, টেক্সট এবং শেপ যোগ করুন।

PdfPig লাইব্রেরি কী?

PdfPig হল একটি ওপেন-সোর্স .NET লাইব্রেরি, যা C#-এ PDF ফাইল থেকে বিষয়বস্তু পড়া, পার্স করা এবং বের করার জন্য ডিজাইন করা হয়েছে। এটি Apache PDFBox-এর একটি পোর্ট হিসেবে .NET ইকোসিস্টেমের জন্য বিকশিত হয়েছে এবং PDF টেক্সট এক্সট্র্যাকশন, ডকুমেন্ট বিশ্লেষণ এবং লো-লেভেল PDF প্রক্রিয়াকরণের জন্য ব্যাপকভাবে ব্যবহৃত হয়। এটি .NET স্ট্যান্ডার্ড এবং একাধিক .NET সংস্করণকে সমর্থন করে, যা আধুনিক ডেভেলপমেন্ট পরিবেশের জন্য অত্যন্ত নমনীয় করে তোলে। এই লাইব্রেরি ডকুমেন্ট ইনডেক্সিং, সার্চ ইঞ্জিন, AI/ML ডকুমেন্ট প্রি-প্রসেসিং, OCR পোস্ট-প্রসেসিং, ইনভয়েস অটোমেশন, PDF অ্যাক্সেসিবিলিটি টুলস এবং ডেটা এক্সট্র্যাকশন সিস্টেমের জন্য খুবই উপকারী।

PDF ফাইলগুলো সর্বত্র—চুক্তি, রিপোর্ট, ইনভয়েস, ইবুক, ব্যাংক স্টেটমেন্ট, গবেষণা পত্র এবং ফর্ম। PDF থেকে গঠনমূলক তথ্য বের করা প্রায়ই কঠিন হয় কারণ PDF মূলত একটি উপস্থাপনা ফরম্যাট, সেম্যান্টিক ডকুমেন্ট ফরম্যাট নয়। PdfPig এই সমস্যাকে সহজ করে দেয় ডেভেলপারদেরকে রaw টেক্সট এবং শব্দ, অক্ষরের অবস্থান এবং বাউন্ডিং বক্স, ফন্ট এবং স্টাইলিং তথ্য, ছবি এবং মেটাডেটা এবং ডকুমেন্ট লেআউটের বিবরণে অ্যাক্সেস প্রদান করে। অনেক PDF লাইব্রেরি যা মূলত PDF তৈরি করার উপর মনোযোগ দেয়, তার বিপরীতে PdfPig বিদ্যমান PDF ডকুমেন্ট পড়ার জন্য বিশেষায়িত। এটি ডেভেলপারদের জন্য একটি চমৎকার পছন্দ যারা সার্চ ইঞ্জিন, OCR পাইপলাইন, ইনভয়েস পার্সার, ডকুমেন্ট অ্যানালাইজার, কমপ্লায়েন্স টুল বা কন্টেন্ট এক্সট্র্যাকশন সিস্টেম তৈরি করছেন।

Previous Next

PdfPig দিয়ে শুরু করা

PdfPig লাইব্রেরি একটি nuget প্যাকেজ হিসেবে উপলব্ধ। তাই আপনার প্রকল্পে PdfPig ইনস্টল করার জন্য NuGet ব্যবহার করা অত্যন্ত সুপারিশ করা হয়। সফল ইনস্টলেশনের জন্য দয়া করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

NuGet প্যাকেজ ম্যানেজার দিয়ে PdfPig ইনস্টল করুন

// Package Manager
Install-Package PdfPig

// .NET CLI

dotnet add package PdfPig

আপনি এটিও ম্যানুয়ালি ইনস্টল করতে পারেন; সর্বশেষ রিলিজ ফাইলগুলি সরাসরি GitHub রিপোজিটরি থেকে ডাউনলোড করুন।

.NET এর মাধ্যমে PDF ডকুমেন্ট থেকে টেক্সট বের করা

PdfPig-এর সবচেয়ে সাধারণ ব্যবহারগুলোর একটি হল PDF ডকুমেন্ট থেকে প্লেইন টেক্সট বের করা। সফটওয়্যার ডেভেলপাররা একটি PDF খুলে পৃষ্ঠা অনুযায়ী টেক্সট পড়তে পারেন অথবা সম্পূর্ণ কন্টেন্ট এক্সট্র্যাক্ট করতে পারেন। এটি বিশেষভাবে সার্চ ইনডেক্সিং, কীওয়ার্ড স্ক্যানিং এবং কন্টেন্ট বিশ্লেষণের জন্য উপযোগী। এখানে একটি সহজ উদাহরণ দেওয়া হয়েছে যা দেখায় কীভাবে সফটওয়্যার ডেভেলপাররা C# .NET অ্যাপ্লিকেশনের মধ্যে PDF ডকুমেন্ট থেকে টেক্সট এক্সট্র্যাক্ট করতে পারেন। প্রথমে এটি PDF ফাইলটি খুলে সব পৃষ্ঠার মাধ্যমে ইটারেট করে, তারপর এক্সট্র্যাক্ট করা টেক্সট কন্টেন্ট পড়ে।

C# API এর মাধ্যমে PDF ডকুমেন্ট থেকে টেক্সট কীভাবে বের করবেন?

using UglyToad.PdfPig;

using (var document = PdfDocument.Open("sample.pdf"))
{
    foreach (var page in document.GetPages())
    {
        string text = page.Text;
        Console.WriteLine(text);
    }
}

ইন্টারেক্টিভ ফর্ম এবং এমবেডেড ফাইল এক্সট্র্যাকশন

ওপেন সোর্স PdfPig লাইব্রেরি স্বাভাবিকভাবে ইন্টারেক্টিভ অ্যাক্রোব্যাট ফর্ম (AcroForms) এক্সট্র্যাকশন এবং PDF অ্যাটাচমেন্টের মধ্যে লুকানো ফাইলগুলি পড়া সমর্থন করে। এটি ডেভেলপারদের গ্লোবালি ফর্ম ডেফিনিশন চেক করতে, টাইপ করা ইন্টারেক্টিভ ফর্ম উপাদানগুলোর (যেমন চেকবক্স, টেক্সট ফিল্ড, বা পুশবাটন) মাধ্যমে ইটারেট করতে, এবং ডকুমেন্ট অ্যানোটেশনের মধ্যে এমবেডেড ফাইলগুলোর অন্তর্নিহিত রaw বাইট ডেটা অ্যাক্সেস করতে সক্ষম করে, যা সিস্টেমের নিরবচ্ছিন্ন আন্তঃক্রিয়াশীলতা নিশ্চিত করে।

C# .NET লাইব্রেরি ব্যবহার করে ইন্টারেক্টিভ ফর্ম ডেটা কীভাবে বের করবেন?

using System;
using System.Collections.Generic;
using UglyToad.PdfPig;
using UglyToad.PdfPig.AcroForms;

class Program
{
    static void ExtractInteractiveContent(string pdfPath)
    {
        using (PdfDocument document = PdfDocument.Open(pdfPath))
        {
            // Extracting Interactive Form Data
            if (document.TryGetForm(out AcroForm form))
            {
                foreach (var field in form.Fields)
                {
                    Console.WriteLine($"Form Field Name: {field.Information.Name} | Type: {field.Type}");
                }
            }

            // Extracting Embedded Documents/Attachments
            if (document.Advanced.TryGetEmbeddedFiles(out IReadOnlyList embeddedFiles))
            {
                foreach (var file in embeddedFiles)
                {
                    Console.WriteLine($"Found Attachment: {file.Name} ({file.Bytes.Count} bytes)");
                    // File.WriteAllBytes(file.Name, file.Bytes.ToArray()); // Save attachment locally
                }
            }
        }
    }
}

C# এর মাধ্যমে সিমলেস মাল্টি-ফাইল PDF মার্জিং

কন্টেন্ট এক্সট্র্যাকশন ছাড়াও, PdfPig সরল ডকুমেন্ট ম্যানেজমেন্ট ইউটিলিটি প্রদান করে। PdfMerger ক্লাস ব্যবহার করে, ডেভেলপাররা পৃথক স্বাধীন PDF গঠনগুলোকে একক, ঐক্যবদ্ধ ফাইল বাইটের আউটপুট অ্যারেতে একত্রিত করতে পারেন। এটি প্রোগ্রাম্যাটিক রিপোর্ট, ইনভয়েস বা ক্লায়েন্ট স্টেটমেন্ট ডকুমেন্টগুলোকে অতিরিক্ত, বাহ্যিক নির্ভরতা যোগ না করে আপনার .NET পাইপলাইনে সংযুক্ত করার একটি কার্যকর উপায় প্রদান করে। নিম্নলিখিত উদাহরণটি দেখায় কীভাবে ব্যবহারকারীরা .NET অ্যাপ্লিকেশনের মধ্যে একাধিক PDF ডকুমেন্ট সংযুক্ত করতে পারেন।

C# .NET অ্যাপসের মধ্যে একাধিক PDF ফাইল কীভাবে মার্জ করবেন?

using System.IO;
using UglyToad.PdfPig.Writer;

class Program
{
    static void MergeDocuments(string firstPdf, string secondPdf, string outputPdf)
    {
        // Consolidate files into a single continuous byte sequence
        byte[] mergedFileBytes = PdfMerger.Merge(firstPdf, secondPdf);
        
        // Output the combined file stream directly to disk
        File.WriteAllBytes(outputPdf, mergedFileBytes);
    }
}

PDF মেটাডেটা, ফর্ম এবং অ্যানোটেশন পড়া

টেক্সট এক্সট্র্যাকশন ছাড়াও, ওপেন সোর্স PdfPig লাইব্রেরিতে এমন ফিচার অন্তর্ভুক্ত রয়েছে যা ডকুমেন্টের মেটাডেটা (শিরোনাম, লেখক, প্রযোজক), ইন্টারেক্টিভ ফর্ম ফিল্ড, হাইপারলিঙ্ক এবং বুকমার্ক প্রকাশ করে। এটি ডকুমেন্ট ক্লাসিফিকেশন সিস্টেম, স্বয়ংক্রিয় ফর্ম প্রসেসিং এবং কন্টেন্ট ইনডেক্সিংয়ের জন্য অমূল্য, যেখানে আপনাকে কন্টেন্ট এবং প্রেক্ষাপট উভয়ই প্রয়োজন।

 বাংলা