পিডিএফবক্স (PDFBox) লাইব্রেরি ব্যবহার করে আপনি পিডিএফ ডকুমেন্টের ফর্ম ফিল্ড পূরণ এবং সেগুলোর ডেটা এক্সট্র্যাক্ট (read) করতে পারেন। পিডিএফ ফর্ম ফিল্ডগুলি সাধারণত টেক্সট বক্স, চেকবক্স, রেডিও বাটন ইত্যাদি নিয়ে তৈরি হয়। পিডিএফবক্সে এই ফর্ম ফিল্ডগুলোর সাথে কাজ করতে PDDocument, PDAcroForm, এবং PDField ক্লাস ব্যবহার করা হয়।
ফর্ম ফিল্ড পূরণ করা
পিডিএফ ফর্ম ফিল্ডে ডেটা যোগ করার জন্য, আপনাকে প্রথমে ফর্ম ফিল্ডটি খুঁজে বের করতে হবে এবং তারপর এর মান সেট করতে হবে। নিচে একটি উদাহরণ দেওয়া হলো যেখানে একটি পিডিএফ ফর্মের টেক্সট ফিল্ড পূর্ণ করা হচ্ছে।
কোড উদাহরণ: পিডিএফ ফর্ম ফিল্ড পূরণ করা
PDDocument document = PDDocument.load(new File("form.pdf"));
PDAcroForm acroForm = document.getDocumentCatalog().getAcroForm();
// টেক্সট ফিল্ড খুঁজে বের করা এবং মান সেট করা
PDTextField nameField = (PDTextField) acroForm.getField("name");
nameField.setValue("John Doe");
PDTextField emailField = (PDTextField) acroForm.getField("email");
emailField.setValue("johndoe@example.com");
// পিডিএফ ডকুমেন্ট সংরক্ষণ করা
document.save("filledForm.pdf");
document.close();
এখানে, getField মেথড ব্যবহার করে ফিল্ডের নাম ("name" এবং "email") দ্বারা ফর্ম ফিল্ডটি খুঁজে বের করা হয়েছে এবং setValue মেথডের মাধ্যমে প্রতিটি ফিল্ডে মান প্রদান করা হয়েছে। এর পর, পিডিএফ ডকুমেন্টটি সংরক্ষণ করা হয়েছে।
চেকবক্স বা রেডিও বাটন ফিল্ড পূরণ করা
পিডিএফ ফর্মে চেকবক্স বা রেডিও বাটন ফিল্ডও থাকতে পারে। এগুলি পূরণ করতে, PDCheckbox এবং PDRadioButton ক্লাস ব্যবহার করা হয়।
কোড উদাহরণ: চেকবক্স পূরণ করা
PDDocument document = PDDocument.load(new File("form.pdf"));
PDAcroForm acroForm = document.getDocumentCatalog().getAcroForm();
// চেকবক্স ফিল্ড খুঁজে বের করা এবং মান সেট করা
PDCheckbox checkboxField = (PDCheckbox) acroForm.getField("agreeTerms");
checkboxField.check();
// পিডিএফ ডকুমেন্ট সংরক্ষণ করা
document.save("filledCheckboxForm.pdf");
document.close();
এখানে, check() মেথড ব্যবহার করে চেকবক্সটি চেক করা হয়েছে।
পিডিএফ ফর্ম থেকে ডেটা রিড (Extracting Data)
পিডিএফ ফর্ম ফিল্ড থেকে ডেটা রিড করতে, আপনি getField মেথড ব্যবহার করে ফর্ম ফিল্ডগুলোর মান পেতে পারেন। নিচে একটি উদাহরণ দেওয়া হলো যেখানে একটি পূর্ণাঙ্গ পিডিএফ ফর্ম থেকে ডেটা রিড করা হচ্ছে।
কোড উদাহরণ: পিডিএফ ফর্ম থেকে ডেটা রিড করা
PDDocument document = PDDocument.load(new File("filledForm.pdf"));
PDAcroForm acroForm = document.getDocumentCatalog().getAcroForm();
// টেক্সট ফিল্ডের মান রিড করা
PDTextField nameField = (PDTextField) acroForm.getField("name");
String name = nameField.getValue();
PDTextField emailField = (PDTextField) acroForm.getField("email");
String email = emailField.getValue();
// চেকবক্সের মান রিড করা
PDCheckbox checkboxField = (PDCheckbox) acroForm.getField("agreeTerms");
boolean isChecked = checkboxField.isChecked();
System.out.println("Name: " + name);
System.out.println("Email: " + email);
System.out.println("Terms Agreed: " + (isChecked ? "Yes" : "No"));
document.close();
এখানে, getValue() মেথড ব্যবহার করে টেক্সট ফিল্ডের মান রিড করা হয়েছে, এবং isChecked() মেথড ব্যবহার করে চেকবক্সের মান রিড করা হয়েছে।
পিডিএফ ফর্ম ফিল্ডের বৈধতা পরীক্ষা করা
পিডিএফ ফর্মে কিছু ক্ষেত্রে ফিল্ডের মান চেক করতে হতে পারে। PDAcroForm ক্লাসে isValid মেথড আছে যা ফর্মের সকল ফিল্ড সঠিকভাবে পূর্ণ হয়েছে কিনা তা পরীক্ষা করতে সহায়ক।
কোড উদাহরণ: ফর্ম ফিল্ডের বৈধতা পরীক্ষা করা
PDDocument document = PDDocument.load(new File("filledForm.pdf"));
PDAcroForm acroForm = document.getDocumentCatalog().getAcroForm();
// ফর্মের বৈধতা পরীক্ষা করা
if (acroForm.isValid()) {
System.out.println("The form is valid!");
} else {
System.out.println("The form is invalid!");
}
document.close();
পিডিএফবক্স ব্যবহার করে আপনি পিডিএফ ফর্ম ফিল্ডে ডেটা পূরণ করতে এবং পূর্ণ হওয়া ডেটা এক্সট্র্যাক্ট (রিড) করতে পারেন। এটি পিডিএফ ফর্মের সাথে কাজ করার জন্য একটি শক্তিশালী টুল, যা ডকুমেন্টের বিভিন্ন ফিল্ডের তথ্য ব্যবহারে সহায়ক।
Read more