পিডিএফবক্স (PDFBox) Java লাইব্রেরি ব্যবহার করে পিডিএফ ডকুমেন্টে Text Annotation, Highlight Annotation, এবং Link Annotation যোগ করা যায়। এগুলি পিডিএফ ডকুমেন্টে বিভিন্ন ধরনের মন্তব্য, হাইলাইট, এবং লিঙ্ক তৈরি করতে সহায়তা করে, যা ডকুমেন্টের পড়াশুনা বা ব্যবহারকারীর জন্য আরও ইন্টারঅ্যাকটিভ এবং সহায়ক হয়।
Text Annotation যোগ করা
Text Annotation সাধারণত টেক্সট মন্তব্য বা নোট হিসাবে ব্যবহৃত হয়, যা পিডিএফ ডকুমেন্টের নির্দিষ্ট অংশে মন্তব্য যোগ করার জন্য ব্যবহৃত হয়। এটি ব্যবহারকারীকে টেক্সট বা পৃষ্ঠার জন্য অতিরিক্ত তথ্য বা নোট প্রদান করতে সাহায্য করে।
Text Annotation যোগ করার কোড
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDAppearanceDictionary;
import org.apache.pdfbox.pdmodel.PDAnnotationText;
import org.apache.pdfbox.pdmodel.PDRectangle;
import java.io.IOException;
public class PDFTextAnnotationExample {
public static void main(String[] args) throws IOException {
PDDocument document = new PDDocument();
PDPage page = new PDPage();
document.addPage(page);
// Text Annotation তৈরি
PDAnnotationText textAnnotation = new PDAnnotationText();
textAnnotation.setRectangle(new PDRectangle(100, 700, 200, 50)); // অবস্থান এবং আকার
textAnnotation.setContents("This is a text annotation!"); // মন্তব্য
// পৃষ্ঠায় Text Annotation যোগ করা
page.getAnnotations().add(textAnnotation);
// পিডিএফ সেভ করা
document.save("PDFWithTextAnnotation.pdf");
document.close();
}
}
এখানে PDAnnotationText ক্লাস ব্যবহার করে একটি টেক্সট অ্যানোটেশন তৈরি করা হয়েছে এবং সেটি পিডিএফ পৃষ্ঠায় যোগ করা হয়েছে।
Highlight Annotation যোগ করা
Highlight Annotation পিডিএফ ডকুমেন্টের নির্দিষ্ট অংশকে হাইলাইট করতে ব্যবহৃত হয়, যা ব্যবহারকারীদের কিছু গুরুত্বপূর্ণ তথ্য বা অংশকে চিহ্নিত করতে সাহায্য করে। এটি সাধারণত টেক্সট হাইলাইট করার জন্য ব্যবহৃত হয়।
Highlight Annotation যোগ করার কোড
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDAnnotationHighlight;
import org.apache.pdfbox.pdmodel.PDRectangle;
import org.apache.pdfbox.pdmodel.PDTextContentStream;
import org.apache.pdfbox.pdmodel.PDAppearanceDictionary;
import java.io.IOException;
public class PDFHighlightAnnotationExample {
public static void main(String[] args) throws IOException {
PDDocument document = new PDDocument();
PDPage page = new PDPage();
document.addPage(page);
// Highlight Annotation তৈরি
PDAnnotationHighlight highlightAnnotation = new PDAnnotationHighlight();
highlightAnnotation.setRectangle(new PDRectangle(100, 700, 200, 20)); // হাইলাইটের অবস্থান
highlightAnnotation.setContents("This is highlighted text!"); // হাইলাইট টেক্সট
// পৃষ্ঠায় Highlight Annotation যোগ করা
page.getAnnotations().add(highlightAnnotation);
// পিডিএফ সেভ করা
document.save("PDFWithHighlightAnnotation.pdf");
document.close();
}
}
এখানে PDAnnotationHighlight ক্লাস ব্যবহার করে একটি হাইলাইট অ্যানোটেশন তৈরি করা হয়েছে, যা নির্দিষ্ট টেক্সট বা অংশকে হাইলাইট করবে।
Link Annotation যোগ করা
Link Annotation পিডিএফ ডকুমেন্টে হাইপারলিঙ্ক তৈরি করতে ব্যবহৃত হয়। এটি ব্যবহারকারীদের ক্লিক করে অন্য একটি পৃষ্ঠায় নিয়ে যেতে বা একটি URL খুলতে সাহায্য করে।
Link Annotation যোগ করার কোড
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDAnnotationLink;
import org.apache.pdfbox.pdmodel.PDActionURI;
import org.apache.pdfbox.pdmodel.PDRectangle;
import java.io.IOException;
public class PDFLinkAnnotationExample {
public static void main(String[] args) throws IOException {
PDDocument document = new PDDocument();
PDPage page = new PDPage();
document.addPage(page);
// Link Annotation তৈরি
PDAnnotationLink linkAnnotation = new PDAnnotationLink();
linkAnnotation.setRectangle(new PDRectangle(100, 700, 200, 20)); // লিঙ্কের অবস্থান
// Link এর অ্যাকশন (এখানে একটি URL)
PDActionURI action = new PDActionURI();
action.setURI("http://www.example.com");
linkAnnotation.setAction(action);
// পৃষ্ঠায় Link Annotation যোগ করা
page.getAnnotations().add(linkAnnotation);
// পিডিএফ সেভ করা
document.save("PDFWithLinkAnnotation.pdf");
document.close();
}
}
এখানে PDAnnotationLink ক্লাস ব্যবহার করে একটি লিঙ্ক অ্যানোটেশন তৈরি করা হয়েছে, যা নির্দিষ্ট অংশে ক্লিক করার মাধ্যমে একটি URL খুলবে।
পিডিএফ অ্যানোটেশনগুলোর সুবিধা
- Text Annotation ব্যবহারকারীদের পিডিএফ ডকুমেন্টে নোট বা মন্তব্য যোগ করার সুযোগ দেয়, যা ডকুমেন্টে অতিরিক্ত তথ্য প্রদান করতে সাহায্য করে।
- Highlight Annotation পিডিএফের গুরুত্বপূর্ণ অংশ বা টেক্সট হাইলাইট করে, যা ব্যবহারকারীদের জন্য গুরুত্বপূর্ণ তথ্যকে দৃশ্যমান করে।
- Link Annotation ব্যবহারকারীদের লিঙ্কের মাধ্যমে দ্রুত অন্য পৃষ্ঠায় যেতে বা ওয়েবসাইট খুলতে সহায়তা করে।
পিডিএফবক্স (PDFBox) Java লাইব্রেরি ব্যবহার করে Text, Highlight, এবং Link Annotation যোগ করা সহজ এবং কার্যকরী। এগুলি পিডিএফ ডকুমেন্টে বিভিন্ন ধরণের ইন্টারঅ্যাকটিভ ফিচার যোগ করার জন্য অত্যন্ত উপকারী।
Read more