PDFBox ব্যবহার করে পিডিএফ ডকুমেন্টে ইমেজ যোগ করা খুবই সহজ, এবং আপনি ইমেজের অবস্থান (positioning) এবং আকার (resizing) নিয়ন্ত্রণ করতে পারেন। এখানে পিডিএফ ডকুমেন্টে ইমেজ পজিশন এবং আকার পরিবর্তন করার জন্য প্রয়োজনীয় কোড উদাহরণ এবং ব্যাখ্যা দেওয়া হলো।
পিডিএফে ইমেজ যোগ করা
PDFBox ব্যবহার করে পিডিএফে ইমেজ যোগ করার জন্য প্রথমে আপনাকে PDImageXObject ক্লাস ব্যবহার করতে হবে। এটি একটি ইমেজ অবজেক্ট তৈরি করে এবং PDPageContentStream দিয়ে ইমেজকে পিডিএফ পেজে বসাতে সাহায্য করে।
কোড উদাহরণ - ইমেজ পজিশনিং এবং রিসাইজিং
নিচে একটি উদাহরণ দেওয়া হলো, যেখানে একটি ইমেজ পিডিএফে যোগ করা হচ্ছে এবং ইমেজের পজিশন ও আকার নিয়ন্ত্রণ করা হচ্ছে:
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.PDImageXObject;
import java.io.File;
import java.io.IOException;
public class PDFImageExample {
public static void main(String[] args) throws IOException {
// নতুন পিডিএফ ডকুমেন্ট তৈরি
PDDocument document = new PDDocument();
// নতুন পিডিএফ পেজ তৈরি
PDPage page = new PDPage();
document.addPage(page);
// ইমেজ লোড
PDImageXObject image = PDImageXObject.createFromFile("path_to_image.jpg", document);
// পিডিএফ পেজে ইমেজ যোগ করা
PDPageContentStream contentStream = new PDPageContentStream(document, page);
contentStream.drawImage(image, 100, 600, 200, 100); // X, Y পজিশন এবং Width, Height রিসাইজিং
contentStream.close();
// ডকুমেন্ট সংরক্ষণ
document.save("output.pdf");
document.close();
}
}
কোড ব্যাখ্যা
- PDImageXObject.createFromFile("path_to_image.jpg", document): এখানে ইমেজটি লোড করা হচ্ছে যেটি
path_to_image.jpgথেকে আনা হচ্ছে। - drawImage(image, 100, 600, 200, 100):
- প্রথম দুটি মান (100, 600) হল ইমেজের পজিশন (X এবং Y কোরডিনেট) পিডিএফ পেজে।
- পরবর্তী দুটি মান (200, 100) হল ইমেজের আকার (Width এবং Height), যা ইমেজের সাইজ পরিবর্তন করতে ব্যবহৃত হয়।
ইমেজ পজিশনিং
ইমেজ পজিশনিং অর্থ হলো পিডিএফ পেজের কোথায় ইমেজটি রাখা হবে, তা নির্ধারণ করা। এখানে drawImage পদ্ধতিতে X এবং Y কোরডিনেট ব্যবহার করে আপনি ইমেজের অবস্থান নিয়ন্ত্রণ করতে পারেন। উদাহরণস্বরূপ:
- X কোরডিনেট (Horizontal position): পিডিএফ পেজের বাম থেকে শুরু হয়ে ইমেজের অবস্থান নির্ধারণ করে।
- Y কোরডিনেট (Vertical position): পিডিএফ পেজের উপরের অংশ থেকে ইমেজের অবস্থান নির্ধারণ করে।
ইমেজ রিসাইজিং
ইমেজ রিসাইজিংয়ের জন্য আপনি drawImage পদ্ধতিতে ইমেজের আকারও নির্ধারণ করতে পারেন। প্রথম দুটি মান (100, 600) পজিশন নির্ধারণ করে, এবং পরবর্তী দুটি মান (200, 100) ইমেজের আকার (Width এবং Height) সেট করে। আপনি ইমেজের সাইজ ছোট বা বড় করতে পারেন আপনার প্রয়োজন অনুযায়ী।
পিডিএফ পেজে একাধিক ইমেজ যোগ করা
আপনি যদি একাধিক ইমেজ পিডিএফ পেজে যোগ করতে চান, তবে শুধু আলাদা আলাদা পজিশন এবং আকার দিয়ে একইভাবে drawImage পদ্ধতি ব্যবহার করতে পারেন।
contentStream.drawImage(image, 50, 500, 150, 75); // প্রথম ইমেজ
contentStream.drawImage(image, 200, 400, 150, 75); // দ্বিতীয় ইমেজ
ইমেজ পজিশনিং এর অগ্রগতি
- Centering an image: ইমেজ যদি পিডিএফ পেজে কেন্দ্রিকভাবে অবস্থান করতে চান, তাহলে আপনাকে পিডিএফ পেজের সাইজের হিসাব করে X এবং Y কোরডিনেট নির্ধারণ করতে হবে। উদাহরণস্বরূপ, পিডিএফ পেজের সেন্টারে ইমেজ বসানোর জন্য কোডটি এমন হবে:
float x = (page.getMediaBox().getWidth() - image.getWidth()) / 2;
float y = (page.getMediaBox().getHeight() - image.getHeight()) / 2;
contentStream.drawImage(image, x, y);
পিডিএফবক্স (PDFBox) দিয়ে পিডিএফে ইমেজ পজিশনিং এবং রিসাইজিং করার প্রক্রিয়া সহজ এবং সুবিধাজনক। উপরের উদাহরণগুলো অনুসরণ করে আপনি ইমেজ যোগ করতে পারেন এবং তাদের সঠিক অবস্থান এবং আকার নিয়ন্ত্রণ করতে পারবেন।
Read more