অ্যাপাচি পিওআই (Apache POI) মূলত Microsoft Office ফাইল (Excel, Word, PowerPoint) পরিচালনা করার জন্য ডিজাইন করা হলেও, PDF ফাইল ম্যানিপুলেশন করার জন্য অ্যাপাচি PDFBox লাইব্রেরি ব্যবহৃত হয়। Apache PDFBox একটি ওপেন সোর্স Java লাইব্রেরি যা PDF ফাইল তৈরি, পড়া, লেখা এবং ম্যানিপুলেশন করার জন্য ব্যবহৃত হয়। POI এবং PDFBox এর একত্রিত ব্যবহারের মাধ্যমে, আপনি PDF ফাইলের কন্টেন্ট প্রসেস করতে এবং প্রয়োজনীয় পরিবর্তন করতে পারবেন।
এখানে PDFBox এর মাধ্যমে PDF ফাইলের ম্যানিপুলেশন সম্পর্কিত কিছু সাধারণ উদাহরণ দেওয়া হলো।
PDF ফাইল পড়া
PDF ফাইল থেকে টেক্সট এক্সট্র্যাক্ট করা
PDF ফাইল থেকে টেক্সট এক্সট্র্যাক্ট করার জন্য PDFTextStripper ক্লাস ব্যবহার করা হয়। এটি PDF ফাইলের প্রতিটি পৃষ্ঠার টেক্সট বের করে আনে।
// Example of extracting text from a PDF file using PDFBox
PDDocument document = PDDocument.load(new File("example.pdf"));
PDFTextStripper stripper = new PDFTextStripper();
// Extract text from the PDF
String text = stripper.getText(document);
System.out.println(text);
document.close();
এখানে PDFTextStripper ব্যবহার করে PDF ফাইল থেকে সমস্ত টেক্সট এক্সট্র্যাক্ট করা হয়েছে। এটি প্রতিটি পৃষ্ঠা থেকে টেক্সট বের করে।
PDF ফাইলে নতুন পৃষ্ঠা যোগ করা
নতুন পৃষ্ঠা তৈরি এবং সেটিতে কন্টেন্ট যোগ করা
PDF ফাইলে নতুন পৃষ্ঠা যোগ করার জন্য, PDPage ক্লাস ব্যবহার করা হয়। পৃষ্ঠাটি তৈরি করার পর, আপনি এতে টেক্সট বা ছবি যোগ করতে পারবেন।
// Example of adding a new page to a PDF document using PDFBox
PDDocument document = new PDDocument();
// Create a new page
PDPage page = new PDPage(PDPage.PAGE_SIZE_A4);
document.addPage(page);
// Create a content stream to add content to the page
PDPageContentStream contentStream = new PDPageContentStream(document, page);
contentStream.beginText();
contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12);
contentStream.newLineAtOffset(100, 700);
contentStream.showText("This is a new page with text.");
contentStream.endText();
contentStream.close();
// Save the document
document.save("new_page_example.pdf");
document.close();
এখানে একটি নতুন পৃষ্ঠা তৈরি করা হয়েছে এবং সেই পৃষ্ঠায় টেক্সট যোগ করা হয়েছে। PDPageContentStream দিয়ে পৃষ্ঠায় টেক্সট লেখা হয়েছে।
PDF ফাইলে ইমেজ যোগ করা
PDF ফাইলে ইমেজ এমবেড করা
PDF ফাইলে ইমেজ যোগ করার জন্য, PDImageXObject ব্যবহার করা হয়। এটি একটি ইমেজ ফাইল থেকে ছবি লোড করে এবং PDF পৃষ্ঠায় এমবেড করে।
// Example of adding an image to a PDF file using PDFBox
PDDocument document = new PDDocument();
PDPage page = new PDPage(PDPage.PAGE_SIZE_A4);
document.addPage(page);
// Load an image
PDImageXObject image = PDImageXObject.createFromFile("image.jpg", document);
// Create content stream
PDPageContentStream contentStream = new PDPageContentStream(document, page);
contentStream.drawImage(image, 100, 500); // X, Y position
contentStream.close();
// Save the document
document.save("pdf_with_image.pdf");
document.close();
এখানে একটি ইমেজ PDF ফাইলে এমবেড করা হয়েছে। drawImage মেথডের মাধ্যমে ছবিটি নির্দিষ্ট অবস্থানে বসানো হয়েছে।
PDF ফাইলে টেক্সট বা পৃষ্ঠা মুছে ফেলা
PDF ফাইল থেকে টেক্সট বা পৃষ্ঠা মুছে ফেলা
PDF ফাইলে থেকে পৃষ্ঠার মুছে ফেলা বা কিছু টেক্সট পরিবর্তন করার জন্য PDFBox ব্যবহার করা যেতে পারে, তবে এটি একটু জটিল। সাধারণত পৃষ্ঠার মুছে ফেলা বা পরিবর্তন করা সংক্রান্ত কাজ করার জন্য পুরো ফাইলটি পুনরায় তৈরি করা হয়।
// Example of removing a page from a PDF document using PDFBox
PDDocument document = PDDocument.load(new File("example.pdf"));
document.removePage(0); // Removes the first page
document.save("modified_pdf.pdf");
document.close();
এখানে প্রথম পৃষ্ঠা মুছে ফেলা হয়েছে এবং নতুন ফাইল সংরক্ষণ করা হয়েছে।
সারাংশ
অ্যাপাচি PDFBox লাইব্রেরি ব্যবহার করে PDF ফাইল ম্যানিপুলেশন সহজেই করা যায়। এটি PDF ফাইল থেকে টেক্সট এক্সট্র্যাক্ট, নতুন পৃষ্ঠা যোগ, ইমেজ এমবেড, এবং পৃষ্ঠা বা টেক্সট মুছে ফেলা সহ বিভিন্ন কার্যকলাপ করতে সহায়তা করে। অ্যাপাচি পিওআই মূলত Office ডকুমেন্টের জন্য ব্যবহৃত হলেও, PDF ফাইলের জন্য PDFBox একটি শক্তিশালী এবং নির্ভরযোগ্য অপশন।