পিডিএফবক্স (PDFBox) লাইব্রেরি ব্যবহার করে পিডিএফ ডকুমেন্ট থেকে টেক্সট এক্সট্র্যাক্ট (Read) করা খুবই সহজ। এর জন্য PDFTextStripper ক্লাস ব্যবহার করা হয়। এই ক্লাসটি পিডিএফ ডকুমেন্ট থেকে টেক্সট এক্সট্র্যাক্ট করতে সক্ষম এবং এটি অনেক কার্যকরী যখন পিডিএফ ফাইলের মধ্যে থেকে নির্দিষ্ট তথ্য সংগ্রহ করতে হয়।
এই টিউটোরিয়ালে, আমরা দেখবো কীভাবে PDFTextStripper ব্যবহার করে পিডিএফ ডকুমেন্ট থেকে টেক্সট রিড করা যায়।
PDFTextStripper ব্যবহার করে টেক্সট রিড করা
নিম্নলিখিত কোডটিতে একটি পিডিএফ ডকুমেন্ট থেকে টেক্সট রিড করা হয়েছে এবং কনসোলে প্রিন্ট করা হয়েছে।
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
import java.io.File;
import java.io.IOException;
public class PDFTextReader {
public static void main(String[] args) {
try {
// পিডিএফ ডকুমেন্ট লোড করা
File file = new File("example.pdf");
PDDocument document = PDDocument.load(file);
// PDFTextStripper অবজেক্ট তৈরি
PDFTextStripper stripper = new PDFTextStripper();
// পিডিএফের সমস্ত পৃষ্ঠার টেক্সট এক্সট্র্যাক্ট করা
String text = stripper.getText(document);
// এক্সট্র্যাক্ট করা টেক্সট কনসোলে প্রিন্ট করা
System.out.println("Extracted Text: ");
System.out.println(text);
// ডকুমেন্ট বন্ধ করা
document.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
কোড ব্যাখ্যা
- PDDocument.load(): এই মেথডটি পিডিএফ ফাইল লোড করার জন্য ব্যবহার করা হয়। এখানে
document = PDDocument.load(file);এর মাধ্যমে পিডিএফ ফাইলটি লোড করা হচ্ছে। - PDFTextStripper: এটি একটি ক্লাস যা পিডিএফ ডকুমেন্ট থেকে টেক্সট এক্সট্র্যাক্ট করার জন্য ব্যবহৃত হয়।
stripper.getText(document);মেথডের মাধ্যমে পিডিএফ ডকুমেন্টের সব পৃষ্ঠার টেক্সট এক্সট্র্যাক্ট করা হয়। - document.close(): পিডিএফ ডকুমেন্ট ব্যবহারের পর এটিকে বন্ধ করা হয় যাতে সিস্টেম রিসোর্স সঠিকভাবে মুক্ত হয়।
PDFTextStripper এর কনফিগারেশন
PDFTextStripper এ বেশ কিছু কনফিগারেশন মেথড রয়েছে যা টেক্সট এক্সট্র্যাকশনের আউটপুট কাস্টমাইজ করতে সাহায্য করে:
- setStartPage(int page): এক্সট্র্যাকশন শুরু করার জন্য পৃষ্ঠা নম্বর নির্ধারণ করা।
- setEndPage(int page): এক্সট্র্যাকশন শেষ করার জন্য পৃষ্ঠা নম্বর নির্ধারণ করা।
- setSortByPosition(boolean sort): পজিশন অনুযায়ী টেক্সট সাজানোর জন্য এটি
trueকরতে হবে।
যেমন, যদি শুধুমাত্র প্রথম পৃষ্ঠা থেকে টেক্সট এক্সট্র্যাক্ট করতে চান, তাহলে কোডটি এরকম হবে:
stripper.setStartPage(1);
stripper.setEndPage(1);
টেক্সট এক্সট্র্যাক্টের আউটপুট
এই কোডটি চালানোর পর, example.pdf নামের পিডিএফ ফাইল থেকে সমস্ত টেক্সট এক্সট্র্যাক্ট হয়ে কনসোলে প্রিন্ট হবে।
PDFBox এর PDFTextStripper ক্লাসটি একটি শক্তিশালী টুল, যা সহজে পিডিএফ ডকুমেন্ট থেকে টেক্সট এক্সট্র্যাক্ট করতে সাহায্য করে। এটি বিশেষ করে সেই সমস্ত পরিস্থিতিতে কার্যকরী, যেখানে পিডিএফ ডকুমেন্টে থাকা তথ্য প্রোগ্রাম্যাটিকভাবে সংগ্রহ বা বিশ্লেষণ করতে হয়।
Read more