পিডিএফবক্স (PDFBox) লাইব্রেরি ব্যবহার করে Java প্রোগ্রামে পিডিএফ ডকুমেন্ট তৈরি করা সম্ভব। এর জন্য মূলত দুটি ক্লাস ব্যবহার করা হয়: PDDocument এবং PDPage। PDDocument ক্লাসটি পিডিএফ ডকুমেন্টের অবজেক্ট তৈরি এবং সেভ করার জন্য ব্যবহৃত হয়, এবং PDPage ক্লাসটি পিডিএফ ডকুমেন্টের পৃষ্ঠাগুলি তৈরি করতে ব্যবহৃত হয়।
এই টিউটোরিয়ালে, আমরা PDDocument এবং PDPage ক্লাস ব্যবহার করে একটি সহজ পিডিএফ ডকুমেন্ট তৈরি করব।
PDDocument এবং PDPage দিয়ে পিডিএফ ডকুমেন্ট তৈরি
নিম্নলিখিত কোডটি একটি নতুন পিডিএফ ডকুমেন্ট তৈরি করে এবং এতে একটি পৃষ্ঠা (page) যোগ করে। তারপর সেই পৃষ্ঠায় টেক্সট লেখা হয় এবং শেষে পিডিএফ ডকুমেন্টটি সেভ করা হয়।
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 PDFBoxExample {
public static void main(String[] args) {
try {
// নতুন পিডিএফ ডকুমেন্ট তৈরি
PDDocument document = new PDDocument();
// নতুন পৃষ্ঠা তৈরি
PDPage page = new PDPage();
document.addPage(page);
// পৃষ্ঠা কনটেন্ট স্ট্রিম তৈরি (টেক্সট লেখার জন্য)
PDPageContentStream contentStream = new PDPageContentStream(document, page);
// টেক্সট লেখা শুরু
contentStream.beginText();
contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12); // ফন্ট এবং সাইজ নির্বাচন
contentStream.newLineAtOffset(100, 700); // টেক্সটের অবস্থান
contentStream.showText("Hello, PDFBox!"); // টেক্সট লেখা
contentStream.endText();
// কনটেন্ট স্ট্রিম বন্ধ করা
contentStream.close();
// পিডিএফ ডকুমেন্টটি সেভ করা
document.save("example.pdf");
// ডকুমেন্ট বন্ধ করা
document.close();
System.out.println("PDF তৈরি সফলভাবে সম্পন্ন হয়েছে!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
কোড ব্যাখ্যা
- PDDocument: এটি পিডিএফ ডকুমেন্টের প্রধান অবজেক্ট। এখানে নতুন একটি পিডিএফ ডকুমেন্ট তৈরি করা হচ্ছে
PDDocument document = new PDDocument();এই লাইন দিয়ে। - PDPage: এটি পিডিএফ ডকুমেন্টে একটি নতুন পৃষ্ঠা তৈরি করে। আমরা
PDPage page = new PDPage();দিয়ে একটি পৃষ্ঠা তৈরি করি এবংdocument.addPage(page);দিয়ে ডকুমেন্টে যুক্ত করি। - PDPageContentStream: এটি পৃষ্ঠায় কনটেন্ট লেখার জন্য ব্যবহৃত হয়। এখানে আমরা
contentStream.beginText();দিয়ে টেক্সট লেখা শুরু করি,contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12);দিয়ে ফন্ট এবং সাইজ সেট করি, এবংcontentStream.showText("Hello, PDFBox!");দিয়ে টেক্সটটি পৃষ্ঠায় যোগ করি। - document.save(): এটি পিডিএফ ডকুমেন্টটি একটি ফাইলে সেভ করে। এখানে
document.save("example.pdf");দিয়েexample.pdfনামের ফাইলটি তৈরি করা হয়।
এই কোডটি চালানোর পর একটি example.pdf ফাইল তৈরি হবে, যার মধ্যে "Hello, PDFBox!" লেখা থাকবে। PDFBox ব্যবহার করে আরও জটিল পিডিএফ ডকুমেন্ট তৈরি, সম্পাদনা বা এক্সট্র্যাক্ট করা সম্ভব।