AcroForm হলো পিডিএফ ফাইলের একটি ফিচার যা ব্যবহারকারীদের ফর্ম ফিল আপ করতে এবং ডাটা এক্সট্র্যাক্ট করতে সহায়তা করে। এটি পিডিএফ ডকুমেন্টে ইন্টারঅ্যাকটিভ ফর্ম তৈরি করতে ব্যবহৃত হয়, যেখানে ব্যবহারকারীরা বিভিন্ন ইনপুট ফিল্ড যেমন টেক্সট ফিল্ড, চেকবক্স, রেডিও বাটন ইত্যাদি পূরণ করতে পারেন। AcroForm সাধারণত ব্যবহৃত হয় পিডিএফ ফর্ম ফিলিং, সাবমিশন, এবং ডেটা এক্সট্রাকশন প্রক্রিয়ায়।
AcroForm এর উপাদান
AcroForm ফিচারে বিভিন্ন ধরনের ইনপুট ফিল্ড ব্যবহার করা যেতে পারে, যেমন:
- Text Fields (টেক্সট ফিল্ড): যেখানে ব্যবহারকারী টেক্সট ইনপুট করতে পারে।
- Check Boxes (চেকবক্স): এক বা একাধিক অপশন সিলেক্ট করার জন্য।
- Radio Buttons (রেডিও বাটন): একাধিক অপশন থেকে একটি নির্বাচন করার জন্য।
- Combo Boxes (কম্বো বক্স): ড্রপডাউন তালিকা থেকে অপশন নির্বাচন করার জন্য।
- Buttons (বাটন): সাবমিট, রিসেট ইত্যাদি ফাংশনালিটির জন্য।
এই ফর্ম ফিল্ডগুলি পিডিএফ ডকুমেন্টের মধ্যে ইন্টারঅ্যাকটিভ ফিচার হিসেবে কাজ করে, যার মাধ্যমে ব্যবহারকারী ডকুমেন্টে সরাসরি ইনপুট দিতে পারেন।
AcroForm তৈরি করা
পিডিএফবক্স ব্যবহার করে আপনি সহজেই পিডিএফ ফর্ম তৈরি করতে পারেন। নিচে একটি উদাহরণ দেওয়া হলো যা দেখায় কিভাবে একটি পিডিএফ ফর্ম তৈরি করা হয়:
AcroForm তৈরি করার উদাহরণ
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.interactive.form.PDTextField;
import org.apache.pdfbox.pdmodel.PDDocumentCatalog;
import org.apache.pdfbox.pdmodel.PDAcroForm;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
import java.io.IOException;
public class PDFAcroFormExample {
public static void main(String[] args) {
try {
// নতুন পিডিএফ ডকুমেন্ট তৈরি
PDDocument document = new PDDocument();
PDPage page = new PDPage();
document.addPage(page);
// AcroForm তৈরি
PDAcroForm acroForm = new PDAcroForm(document);
// পিডিএফ ডকুমেন্টের কাতালগ সেট করা
PDDocumentCatalog catalog = document.getDocumentCatalog();
catalog.setAcroForm(acroForm);
// টেক্সট ফিল্ড তৈরি
PDTextField nameField = new PDTextField(acroForm);
nameField.setPartialName("name");
acroForm.getFields().add(nameField);
// ফর্মে টেক্সট ফিল্ডের অবস্থান এবং কন্টেন্ট স্ট্রীম তৈরি
PDPageContentStream contentStream = new PDPageContentStream(document, page);
contentStream.beginText();
contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12);
contentStream.newLineAtOffset(100, 750);
contentStream.showText("Name:");
contentStream.endText();
// ফর্মের টেক্সট ফিল্ড প্রদর্শন করা
contentStream.close();
// পিডিএফ ডকুমেন্ট সংরক্ষণ
document.save("AcroFormExample.pdf");
document.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
কোডের ব্যাখ্যা
- PDAcroForm: AcroForm তৈরি করতে এবং এতে ফর্ম ফিল্ড যোগ করতে ব্যবহৃত হয়।
- PDTextField: একটি টেক্সট ফিল্ড তৈরি করতে ব্যবহৃত হয়। এখানে,
setPartialName()পদ্ধতি ব্যবহার করে ফিল্ডের নাম সেট করা হয়। - setAcroForm(): ডকুমেন্ট কাতালগে AcroForm যুক্ত করতে ব্যবহৃত হয়।
- PDPageContentStream: পিডিএফ পৃষ্ঠায় টেক্সট ফিল্ডের জন্য কন্টেন্ট স্ট্রীম তৈরি করতে ব্যবহৃত হয়।
- showText(): টেক্সট ফিল্ডের পাশের লেবেল প্রদর্শন করার জন্য ব্যবহৃত হয়।
AcroForm এ ডাটা ইনপুট এবং এক্সট্র্যাকশন
একবার ফর্ম তৈরি হলে, ব্যবহারকারী এটি পূর্ণ করে জমা দিতে পারেন। পিডিএফবক্স ব্যবহার করে আপনি এই ফর্মের ডাটা এক্সট্র্যাক্টও করতে পারেন।
ডাটা এক্সট্র্যাক্ট করা
PDDocument document = PDDocument.load(new File("AcroFormExample.pdf"));
PDAcroForm acroForm = document.getDocumentCatalog().getAcroForm();
PDTextField nameField = (PDTextField) acroForm.getField("name");
String nameValue = nameField.getValue();
System.out.println("Name: " + nameValue);
document.close();
এখানে, getField() মেথডের মাধ্যমে ফর্মের টেক্সট ফিল্ডের মান এক্সট্র্যাক্ট করা হয়েছে।
AcroForm হল পিডিএফ ফর্ম তৈরি এবং ব্যবস্থাপনা করার একটি শক্তিশালী টুল, যা পিডিএফবক্সের মাধ্যমে Java এ সহজে ইমপ্লিমেন্ট করা যেতে পারে। এটি ব্যবহারকারীদের ফর্ম ফিলিং এবং ডেটা এক্সট্র্যাকশনের প্রক্রিয়াকে সহজ করে তোলে।
Read more