পিডিএফবক্স (PDFBox) লাইব্রেরি ব্যবহার করে Java প্রোগ্রামিং ভাষায় পিডিএফ ডকুমেন্টে অ্যানোটেশন যোগ করা সম্ভব। অ্যানোটেশনগুলি পিডিএফ ডকুমেন্টে মন্তব্য, টেক্সট হাইলাইট, স্টাম্প, আন্ডারলাইন, ইত্যাদি হিসেবে ব্যবহার করা হয়। এই অ্যানোটেশনগুলির পজিশনিং এবং স্টাইলিং পিডিএফে বেশ গুরুত্বপূর্ণ, কারণ এগুলি ডকুমেন্টের কাঠামো ও প্রেজেন্টেশনকে প্রভাবিত করতে পারে।
পিডিএফবক্স ব্যবহার করে অ্যানোটেশন যোগ করা এবং তার পজিশন এবং স্টাইল কাস্টমাইজ করা বেশ সহজ। এখানে, আমরা অ্যানোটেশন পজিশনিং এবং স্টাইলিংয়ের মাধ্যমে পিডিএফ ডকুমেন্টে বিভিন্ন ধরনের অ্যানোটেশন কীভাবে যুক্ত করা যায় তা দেখব।
পিডিএফে অ্যানোটেশন যোগ করার জন্য প্রয়োজনীয় লাইব্রেরি
প্রথমে নিচের লাইব্রেরিগুলি ইমপোর্ট করতে হবে:
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationTextMarkup;
import org.apache.pdfbox.pdmodel.PDRectangle;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
import java.io.IOException;
অ্যানোটেশন পজিশনিং
পিডিএফবক্সে অ্যানোটেশন পজিশন করার জন্য, আপনার প্রথমে নির্দিষ্ট পেজে অ্যানোটেশনটি কোথায় স্থাপন করতে চান, তা জানতে হবে। আপনি অ্যানোটেশনটির স্থান পেজের কোঅর্ডিনেট (x, y) অনুযায়ী কাস্টমাইজ করতে পারবেন।
উদাহরণ: টেক্সট হাইলাইট অ্যানোটেশন পজিশনিং
PDDocument document = PDDocument.load(new File("example.pdf"));
PDPage page = document.getPage(0); // প্রথম পেজে কাজ করা হবে
// টেক্সট হাইলাইট অ্যানোটেশন তৈরি করা
PDAnnotationTextMarkup highlight = new PDAnnotationTextMarkup(PDAnnotationTextMarkup.SUB_TYPE_HIGHLIGHT);
// অ্যানোটেশনের পজিশন ও আকার নির্ধারণ
highlight.setRectangle(new PDRectangle(100, 500, 200, 15)); // (x, y, width, height)
// পেজে অ্যানোটেশন যোগ করা
page.getAnnotations().add(highlight);
// ডকুমেন্ট সংরক্ষণ করা
document.save("highlighted_example.pdf");
document.close();
এখানে setRectangle মেথড ব্যবহার করে অ্যানোটেশনটির পজিশন (x, y) এবং আকার (width, height) নির্ধারণ করা হয়েছে। আপনি চাইলে এই প্যারামিটারগুলি পরিবর্তন করে অ্যানোটেশনটির স্থান ও আকার কাস্টমাইজ করতে পারবেন।
অ্যানোটেশন স্টাইলিং
পিডিএফবক্সে অ্যানোটেশনটির স্টাইলিং যেমন তার রং, আকার এবং লাইন স্টাইল কাস্টমাইজ করা যায়। নিচে একটি উদাহরণ দেওয়া হলো যেখানে টেক্সট হাইলাইট অ্যানোটেশনের রং এবং স্টাইল কাস্টমাইজ করা হয়েছে।
উদাহরণ: হাইলাইট অ্যানোটেশনের রং পরিবর্তন করা
PDDocument document = PDDocument.load(new File("example.pdf"));
PDPage page = document.getPage(0); // প্রথম পেজে কাজ করা হবে
// টেক্সট হাইলাইট অ্যানোটেশন তৈরি করা
PDAnnotationTextMarkup highlight = new PDAnnotationTextMarkup(PDAnnotationTextMarkup.SUB_TYPE_HIGHLIGHT);
// অ্যানোটেশনের পজিশন ও আকার নির্ধারণ
highlight.setRectangle(new PDRectangle(100, 500, 200, 15));
// হাইলাইটের রং নির্ধারণ (এখানে হলুদ রং)
highlight.setColor(new PDColor(new float[]{1, 1, 0}, PDDeviceRGB.INSTANCE)); // RGB মান 1, 1, 0 = Yellow
// পেজে অ্যানোটেশন যোগ করা
page.getAnnotations().add(highlight);
// ডকুমেন্ট সংরক্ষণ করা
document.save("highlighted_with_color.pdf");
document.close();
এখানে setColor মেথড ব্যবহার করে হাইলাইট অ্যানোটেশনের রং হলুদ (yellow) নির্ধারণ করা হয়েছে। আপনি RGB মানের মাধ্যমে অন্যান্য রঙও ব্যবহার করতে পারেন।
অন্যান্য অ্যানোটেশন ধরনের স্টাইলিং
পিডিএফবক্সে বিভিন্ন ধরনের অ্যানোটেশন যোগ করা যায় যেমন:
- টেক্সট আন্ডারলাইন: এটি একটি টেক্সট আন্ডারলাইন অ্যানোটেশন তৈরি করতে ব্যবহৃত হয়।
- স্টাম্প: এটি একটি স্টাম্প অ্যানোটেশন তৈরি করতে ব্যবহৃত হয় যা সাধারণত পিডিএফ ডকুমেন্টে সিল বা চিহ্ন যোগ করতে ব্যবহৃত হয়।
এছাড়া আপনি এসব অ্যানোটেশনের জন্য স্টাইলিং কাস্টমাইজ করে এর আকার, রঙ, লাইন স্টাইল ইত্যাদি পরিবর্তন করতে পারেন।
এইভাবে পিডিএফবক্স ব্যবহার করে আপনি পিডিএফ ডকুমেন্টে অ্যানোটেশন যোগ করতে পারেন, এবং তার পজিশন ও স্টাইল কাস্টমাইজ করতে পারেন। এটি পিডিএফ ডকুমেন্টের মধ্যে মন্তব্য, হাইলাইট, আন্ডারলাইন বা অন্য কোন ধরনের অ্যানোটেশন যুক্ত করার জন্য একটি শক্তিশালী টুল।
Read more