PDFBox ব্যবহার করে পিডিএফ ডকুমেন্টের পেজ কনফিগারেশন করা খুবই সহজ। আপনি পিডিএফ পেজের সাইজ, মার্জিন, অরিয়েন্টেশন, এবং পেজের অন্যান্য বৈশিষ্ট্যগুলো কনফিগার করতে পারেন। এখানে আমরা PDF পেজ কনফিগারেশন সম্পর্কিত বিভিন্ন সেটিংস এবং উদাহরণ দেখব।
পিডিএফ পেজ সাইজ কনফিগারেশন
PDF পেজের সাইজ কনফিগার করার জন্য PDPage ক্লাস ব্যবহার করা হয়। PDFBox কিছু পূর্বনির্ধারিত পেজ সাইজ (A4, Letter, Legal ইত্যাদি) সরবরাহ করে, কিন্তু আপনি কাস্টম সাইজও সেট করতে পারেন।
উদাহরণ - পিডিএফ পেজ সাইজ সেট করা
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
import java.io.IOException;
public class PDFPageConfigExample {
public static void main(String[] args) throws IOException {
// নতুন পিডিএফ ডকুমেন্ট তৈরি
PDDocument document = new PDDocument();
// A4 সাইজ পেজ তৈরি
PDPage pageA4 = new PDPage(PDPage.PAGE_SIZE_A4);
document.addPage(pageA4);
// কাস্টম সাইজ পেজ তৈরি (উদাহরণ: 600x800 পিক্সেল)
PDPage customPage = new PDPage(new PDRectangle(600, 800));
document.addPage(customPage);
// পেজে কন্টেন্ট লেখা
PDPageContentStream contentStream = new PDPageContentStream(document, pageA4);
contentStream.beginText();
contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12);
contentStream.newLineAtOffset(100, 700); // পেজে টেক্সটের অবস্থান
contentStream.showText("Hello, PDFBox on A4 Page!");
contentStream.endText();
contentStream.close();
// ডকুমেন্ট সংরক্ষণ
document.save("pageConfigExample.pdf");
document.close();
}
}
পিডিএফ পেজ মার্জিন কনফিগারেশন
মার্জিন নির্ধারণ করা খুবই গুরুত্বপূর্ণ যখন আপনি পিডিএফে কন্টেন্ট বসাবেন। এটি আপনাকে পেজের সীমানার মধ্যে টেক্সট বা অন্য কন্টেন্ট ঠিকভাবে সাজাতে সাহায্য করে। PDFBox-এ PDPageContentStream ক্লাসের মাধ্যমে আপনি পেজের মার্জিন কনফিগার করতে পারেন।
উদাহরণ - পিডিএফ পেজ মার্জিন কনফিগারেশন
float margin = 50; // মার্জিনের আকার (50 পিক্সেল)
PDPageContentStream contentStream = new PDPageContentStream(document, pageA4);
contentStream.beginText();
contentStream.setFont(PDType1Font.HELVETICA, 12);
contentStream.newLineAtOffset(margin, 750); // মার্জিন অনুযায়ী টেক্সটের অবস্থান
contentStream.showText("Text inside margin area!");
contentStream.endText();
contentStream.close();
পিডিএফ পেজ অরিয়েন্টেশন কনফিগারেশন
পিডিএফ পেজের অরিয়েন্টেশন (Landscape অথবা Portrait) কনফিগার করা যায়। সাধারণত, পিডিএফ পেজের ডিফল্ট অরিয়েন্টেশন হলো Portrait। তবে আপনি PDRectangle ব্যবহার করে Landscape অরিয়েন্টেশনেও পিডিএফ তৈরি করতে পারেন।
উদাহরণ - পিডিএফ পেজ অরিয়েন্টেশন পরিবর্তন
// Landscape Orientation (পোর্ট্রেট থেকে ল্যান্ডস্কেপে পরিবর্তন)
PDPage landscapePage = new PDPage(PDRectangle.A4.rotate());
document.addPage(landscapePage);
PDPageContentStream contentStream = new PDPageContentStream(document, landscapePage);
contentStream.beginText();
contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12);
contentStream.newLineAtOffset(100, 500); // টেক্সটের অবস্থান
contentStream.showText("Hello, PDFBox in Landscape!");
contentStream.endText();
contentStream.close();
পিডিএফ পেজ কনটেন্টে লাইন, রেকটাঙ্গেল এবং অন্যান্য শেপ যোগ করা
PDFBox ব্যবহার করে আপনি পিডিএফ পেজে কন্টেন্ট যোগ করার পাশাপাশি বিভিন্ন শেপ (লাইন, রেকটাঙ্গেল, সर्कেল ইত্যাদি)ও আঁকতে পারেন। এতে পিডিএফ ডকুমেন্টটি আরও ইন্টারেক্টিভ এবং আকর্ষণীয় হয়।
উদাহরণ - পিডিএফ পেজে লাইন এবং রেকটাঙ্গেল যোগ করা
PDPageContentStream contentStream = new PDPageContentStream(document, pageA4);
// লাইন আঁকা
contentStream.setLineWidth(1f);
contentStream.moveTo(100, 600);
contentStream.lineTo(500, 600);
contentStream.stroke();
// রেকটাঙ্গেল আঁকা
contentStream.setLineWidth(1f);
contentStream.rect(100, 550, 200, 100); // X, Y, Width, Height
contentStream.stroke();
contentStream.close();
পিডিএফ পেজের অন্যান্য কনফিগারেশন
- ফন্ট সাইজ এবং স্টাইল:
setFont()পদ্ধতি ব্যবহার করে আপনি পিডিএফ পেজে ব্যবহৃত ফন্ট সাইজ এবং স্টাইল কনফিগার করতে পারেন। - টেক্সট অরিয়েন্টেশন:
newLineAtOffset(x, y)ব্যবহার করে আপনি টেক্সটের অবস্থান নির্ধারণ করতে পারেন এবংsetTextRotation(angle)দ্বারা টেক্সটের অরিয়েন্টেশন পরিবর্তন করতে পারেন।
সারাংশ
PDFBox ব্যবহার করে পিডিএফ পেজ কনফিগারেশন করা খুবই সহজ। আপনি পেজ সাইজ, মার্জিন, অরিয়েন্টেশন এবং কন্টেন্টের জন্য বিভিন্ন কাস্টম সেটিংস প্রয়োগ করতে পারেন। এই প্রক্রিয়াগুলি আপনাকে পিডিএফ ডকুমেন্ট তৈরি এবং কাস্টমাইজ করার ক্ষেত্রে অনেক বেশি সুবিধা প্রদান করবে।