পিডিএফবক্স (PDFBox) লাইব্রেরি ব্যবহার করে Java এ একটি পিডিএফ ফাইল স্প্লিট (split) করা সম্ভব। যদি আপনার একটি বড় পিডিএফ ডকুমেন্ট থাকে এবং আপনি সেটিকে একাধিক ছোট পিডিএফ ফাইলে ভাগ করতে চান, তাহলে PDFBox এর সাহায্যে সহজেই এটি করা যেতে পারে।
এই টিউটোরিয়ালে, আমরা দেখবো কীভাবে PDFBox ব্যবহার করে একটি পিডিএফ ফাইলের বিভিন্ন পৃষ্ঠা আলাদা করে স্প্লিট (split) করা যায়।
PDF ফাইল Split করার জন্য কোড উদাহরণ
নিম্নলিখিত কোডটি একটি পিডিএফ ফাইলের প্রতিটি পৃষ্ঠা আলাদা করে একটি নতুন পিডিএফ ফাইলে সংরক্ষণ করবে।
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import java.io.File;
import java.io.IOException;
public class PDFSplitter {
public static void main(String[] args) {
try {
// পিডিএফ ডকুমেন্ট লোড করা
File file = new File("example.pdf");
PDDocument document = PDDocument.load(file);
// পিডিএফ ডকুমেন্টের মোট পৃষ্ঠা সংখ্যা পাওয়া
int numberOfPages = document.getNumberOfPages();
// প্রতিটি পৃষ্ঠা আলাদা আলাদা পিডিএফ ফাইলে সংরক্ষণ করা
for (int i = 0; i < numberOfPages; i++) {
// নতুন পিডিএফ ডকুমেন্ট তৈরি
PDDocument newDocument = new PDDocument();
// নির্দিষ্ট পৃষ্ঠা অ্যাড করা
PDPage page = document.getPage(i);
newDocument.addPage(page);
// নতুন পিডিএফ ডকুমেন্ট সেভ করা
newDocument.save("split_page_" + (i + 1) + ".pdf");
// নতুন ডকুমেন্ট বন্ধ করা
newDocument.close();
}
// মূল ডকুমেন্ট বন্ধ করা
document.close();
System.out.println("PDF ফাইল সফলভাবে স্প্লিট হয়েছে!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
কোড ব্যাখ্যা
- PDDocument.load(): এটি পিডিএফ ফাইল লোড করতে ব্যবহৃত হয়।
document = PDDocument.load(file);দ্বারা পিডিএফ ফাইলটি লোড করা হচ্ছে। - getNumberOfPages(): এটি পিডিএফ ডকুমেন্টের মোট পৃষ্ঠা সংখ্যা ফেরত দেয়।
- getPage(int index): এই মেথডের মাধ্যমে নির্দিষ্ট পৃষ্ঠা এক্সেস করা যায়। এখানে
document.getPage(i);দিয়ে পিডিএফের প্রতিটি পৃষ্ঠা এক্সেস করা হচ্ছে। - newDocument.addPage(page): এটি নতুন ডকুমেন্টে একটি পৃষ্ঠা অ্যাড করার জন্য ব্যবহৃত হয়।
- newDocument.save(): এটি নতুন পিডিএফ ফাইলটি সেভ করার জন্য ব্যবহৃত হয়।
newDocument.save("split_page_" + (i + 1) + ".pdf");এর মাধ্যমে প্রতিটি পৃষ্ঠা আলাদা ফাইলে সেভ করা হচ্ছে। - document.close() এবং newDocument.close(): পিডিএফ ডকুমেন্ট ব্যবহারের পর বন্ধ করা হয়।
ফাইল সেভিং কনভেনশন
উপরের কোডে, প্রতিটি পৃষ্ঠা আলাদা আলাদা ফাইল হিসেবে সেভ হবে। ফাইল নাম হিসেবে "split_page_1.pdf", "split_page_2.pdf" ইত্যাদি ব্যবহার করা হবে, যেখানে প্রতিটি ফাইলের নাম পৃষ্ঠার সিরিয়াল নম্বর অনুযায়ী হবে।
সারাংশ
PDFBox ব্যবহার করে পিডিএফ ফাইল স্প্লিট করা অত্যন্ত সহজ। আপনি প্রতিটি পৃষ্ঠা আলাদা পিডিএফ ফাইলে সেভ করতে পারেন। এটি সেই সময় কার্যকরী, যখন আপনার কাছে একটি বড় পিডিএফ ফাইল থাকে এবং আপনাকে তার বিভিন্ন অংশ আলাদা করে নিতে হয়।
Read more