Skill

PDF ফাইল ম্যানিপুলেশন

পিডিএফবক্স (PDFbox) - Java Technologies

253

পিডিএফবক্স (PDFBox) একটি শক্তিশালী ওপেন সোর্স লাইব্রেরি যা Java ব্যবহার করে পিডিএফ ফাইল ম্যানিপুলেট করতে সহায়তা করে। এটি পিডিএফ ডকুমেন্টগুলির সাথে বিভিন্ন ধরনের অপারেশন যেমন পিডিএফ এক্সট্র্যাকশন, মডিফিকেশন, ম্যানিপুলেশন, পৃষ্ঠাগুলির যোগ-বিয়োগ, পিডিএফ মার্জ (merge) এবং সেপারেট (split) করা সম্ভব।

পিডিএফ ফাইল ম্যানিপুলেশন সম্পর্কিত কিছু সাধারণ কার্যাবলী

  1. পিডিএফ মার্জ (Merging PDFs): একাধিক পিডিএফ ফাইল একত্রিত করা।
  2. পিডিএফ সেপারেট (Splitting PDFs): একটি পিডিএফ ফাইলকে বিভিন্ন পৃষ্ঠায় ভাগ করা।
  3. পিডিএফ পৃষ্ঠার অ্যাড, রিমুভ (Adding and Removing Pages): নতুন পৃষ্ঠা যোগ করা অথবা পৃষ্ঠা মুছে ফেলা।
  4. পিডিএফ এ ইমেজ বা টেক্সট যোগ করা (Adding Text or Images): পিডিএফ ডকুমেন্টে নতুন টেক্সট বা ইমেজ যোগ করা।
  5. পিডিএফের মেটাডেটা ম্যানিপুলেশন (Manipulating Metadata): পিডিএফ ফাইলের মেটাডেটা পরিবর্তন করা।

উদাহরণ: পিডিএফ মার্জ (Merging PDFs)

নিম্নলিখিত কোডটি একাধিক পিডিএফ ফাইল মার্জ করার জন্য ব্যবহৃত হতে পারে:

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.multipdf.PDFMergerUtility;

import java.io.IOException;

public class PDFMergeExample {

    public static void main(String[] args) {
        try {
            PDFMergerUtility merger = new PDFMergerUtility();

            // পিডিএফ ফাইল যোগ করা
            merger.addSource("file1.pdf");
            merger.addSource("file2.pdf");

            // আউটপুট ফাইলের নাম নির্ধারণ করা
            merger.setDestinationFileName("merged.pdf");

            // পিডিএফ মার্জ করা
            merger.mergeDocuments(null);

            System.out.println("PDFs merged successfully.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

কোডের ব্যাখ্যা

  • PDFMergerUtility: এটি পিডিএফ মার্জ করার জন্য ব্যবহৃত একটি ক্লাস।
  • addSource(String fileName): এই মেথড ব্যবহার করে মার্জ করার জন্য পিডিএফ ফাইল যুক্ত করা হয়।
  • setDestinationFileName(String fileName): আউটপুট ফাইলের নাম নির্ধারণ করে।
  • mergeDocuments(): এটি পিডিএফ ফাইলগুলিকে একত্রিত করে একটি নতুন পিডিএফ ফাইল তৈরি করে।

উদাহরণ: পিডিএফ সেপারেট (Splitting PDFs)

পিডিএফ ফাইল সেপারেট করার জন্য নিচের কোডটি ব্যবহার করা যেতে পারে:

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import java.io.IOException;

public class PDFSplitExample {

    public static void main(String[] args) {
        try {
            // পিডিএফ ফাইল লোড করা
            PDDocument document = PDDocument.load(new File("example.pdf"));

            // পিডিএফ ফাইলের প্রতিটি পৃষ্ঠা আলাদা করা
            for (int i = 0; i < document.getNumberOfPages(); 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 split successfully.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

কোডের ব্যাখ্যা

  1. PDDocument.load(File file): পিডিএফ ফাইল লোড করা।
  2. getPage(int pageIndex): পিডিএফ ডকুমেন্টের একটি নির্দিষ্ট পৃষ্ঠা পাওয়ার জন্য ব্যবহৃত হয়।
  3. newDocument.addPage(page): নতুন ডকুমেন্টে একটি পৃষ্ঠা যোগ করা।
  4. newDocument.save(String fileName): নতুন পিডিএফ ফাইল সেভ করা।

উদাহরণ: পিডিএফ পৃষ্ঠা যোগ করা

নতুন পিডিএফ পৃষ্ঠা যোগ করতে নিম্নলিখিত কোড ব্যবহার করা হয়:

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import java.io.IOException;

public class PDFAddPageExample {

    public static void main(String[] args) {
        try {
            // পিডিএফ ডকুমেন্ট লোড করা
            PDDocument document = PDDocument.load(new File("example.pdf"));

            // একটি নতুন পৃষ্ঠা তৈরি এবং যোগ করা
            PDPage newPage = new PDPage();
            document.addPage(newPage);

            // পিডিএফ ডকুমেন্ট সেভ করা
            document.save("example_with_new_page.pdf");

            // ডকুমেন্ট বন্ধ করা
            document.close();

            System.out.println("New page added successfully.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

পিডিএফ থেকে টেক্সট বা ইমেজ যোগ করা

পিডিএফে টেক্সট বা ইমেজ যোগ করতে PDPageContentStream ক্লাস ব্যবহার করা হয়। এটি আগের উদাহরণে দেখানো হয়েছে যেখানে টেক্সট বা গ্রাফিক্স আঁকা হয়েছে। আপনি একই পদ্ধতি অনুসরণ করে নতুন টেক্সট বা ইমেজ যোগ করতে পারেন।


সারাংশ

পিডিএফবক্স (PDFBox) Java ব্যবহার করে পিডিএফ ফাইলের ম্যানিপুলেশন খুবই সহজ এবং শক্তিশালী। আপনি পিডিএফ ফাইল মার্জ, সেপারেট, পৃষ্ঠা যোগ করা, টেক্সট বা ইমেজ যোগ করা, পিডিএফ ফাইলের মেটাডেটা ম্যানিপুলেশন ইত্যাদি কাজ করতে পারবেন। এই লাইব্রেরিটি Java অ্যাপ্লিকেশনগুলির জন্য একটি পূর্ণাঙ্গ পিডিএফ ম্যানিপুলেশন টুলসেট প্রদান করে।

Content added By

পিডিএফবক্স (PDFBox) Java ব্যবহার করে একাধিক পিডিএফ ফাইল মার্জ (Merge) করা খুবই সহজ। এটি PDDocument ক্লাসের মাধ্যমে একাধিক পিডিএফ ফাইলকে এক ফাইলে একত্রিত করতে সাহায্য করে। একাধিক পিডিএফ ফাইল মার্জ করার জন্য PDDocument এর add মেথড ব্যবহার করা হয়।

পিডিএফ মার্জ করার প্রক্রিয়া

একাধিক পিডিএফ ফাইল মার্জ করার জন্য নিম্নলিখিত স্টেপগুলো অনুসরণ করতে হবে:

  1. PDDocument তৈরি করুন: একটি নতুন পিডিএফ ডকুমেন্ট তৈরি করুন, যা মার্জ করা পিডিএফগুলির জন্য একত্রিত হবে।
  2. পিডিএফ ফাইল লোড করুন: PDDocument.load() মেথডের মাধ্যমে প্রতিটি পিডিএফ ফাইল লোড করুন।
  3. পিডিএফ পৃষ্ঠা যোগ করুন: একটি পিডিএফ ডকুমেন্ট থেকে পৃষ্ঠাগুলি অন্য ডকুমেন্টে যোগ করতে addPage() মেথড ব্যবহার করুন।
  4. ডকুমেন্ট সেভ করুন: একত্রিত ডকুমেন্টটি সেভ করুন।

উদাহরণ: Multiple PDF ফাইল Merge করা

নিম্নলিখিত কোডটি দুটি পিডিএফ ফাইল মার্জ করবে এবং একটি নতুন পিডিএফ ডকুমেন্ট তৈরি করবে:

import org.apache.pdfbox.pdmodel.*;
import java.io.File;
import java.io.IOException;

public class PDFMergeExample {

    public static void main(String[] args) {
        // নতুন একটি পিডিএফ ডকুমেন্ট তৈরি করুন
        PDDocument mergedDocument = new PDDocument();

        try {
            // প্রথম পিডিএফ ডকুমেন্ট লোড করুন
            PDDocument document1 = PDDocument.load(new File("file1.pdf"));
            
            // প্রথম ডকুমেন্টের সমস্ত পৃষ্ঠা মার্জ করা
            for (int i = 0; i < document1.getNumberOfPages(); i++) {
                mergedDocument.addPage(document1.getPage(i));
            }
            document1.close();

            // দ্বিতীয় পিডিএফ ডকুমেন্ট লোড করুন
            PDDocument document2 = PDDocument.load(new File("file2.pdf"));

            // দ্বিতীয় ডকুমেন্টের সমস্ত পৃষ্ঠা মার্জ করা
            for (int i = 0; i < document2.getNumberOfPages(); i++) {
                mergedDocument.addPage(document2.getPage(i));
            }
            document2.close();

            // মার্জ করা ডকুমেন্ট সেভ করুন
            mergedDocument.save("merged_output.pdf");
            mergedDocument.close();

            System.out.println("PDF Files Merged Successfully!");

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

কোডের ব্যাখ্যা

  1. PDDocument mergedDocument = new PDDocument();
    এটি একটি নতুন পিডিএফ ডকুমেন্ট তৈরি করে, যেখানে মার্জ করা পিডিএফ ফাইলগুলো যোগ করা হবে।
  2. PDDocument document1 = PDDocument.load(new File("file1.pdf"));
    এটি file1.pdf নামক পিডিএফ ফাইলটি লোড করে।
  3. mergedDocument.addPage(document1.getPage(i));
    file1.pdf থেকে পৃষ্ঠাগুলো এক এক করে মার্জ করা হচ্ছে।
  4. document1.close();
    প্রথম পিডিএফ ডকুমেন্টটি বন্ধ করা হয়, যাতে রিসোর্সগুলি ফ্রি থাকে।
  5. PDDocument document2 = PDDocument.load(new File("file2.pdf"));
    এটি file2.pdf নামক দ্বিতীয় পিডিএফ ফাইলটি লোড করে।
  6. mergedDocument.addPage(document2.getPage(i));
    দ্বিতীয় পিডিএফ ফাইলের পৃষ্ঠাগুলি মার্জ করা হচ্ছে।
  7. mergedDocument.save("merged_output.pdf");
    এটি মার্জ করা সমস্ত পিডিএফ পৃষ্ঠাসমূহ সেভ করে একটি নতুন পিডিএফ ফাইল তৈরি করে।
  8. mergedDocument.close();
    মার্জ করা পিডিএফ ডকুমেন্টটি বন্ধ করা হয়।

একাধিক পিডিএফ ফাইল মার্জ করা

আপনি যদি একাধিক পিডিএফ ফাইল মার্জ করতে চান, তবে উপরোক্ত উদাহরণটি সহজেই একাধিক ফাইলের জন্য এক্সটেন্ড করা যেতে পারে:

File[] pdfFiles = new File[] { new File("file1.pdf"), new File("file2.pdf"), new File("file3.pdf") };

for (File pdfFile : pdfFiles) {
    PDDocument document = PDDocument.load(pdfFile);
    for (int i = 0; i < document.getNumberOfPages(); i++) {
        mergedDocument.addPage(document.getPage(i));
    }
    document.close();
}

উপসংহার

পিডিএফবক্স (PDFBox) Java ব্যবহার করে একাধিক পিডিএফ ফাইল মার্জ করা সহজ এবং কার্যকর। আপনি PDDocument ক্লাসের addPage() মেথড ব্যবহার করে পিডিএফ ফাইলগুলোর পৃষ্ঠাগুলি একত্রিত করতে পারবেন এবং একত্রিত ফাইলটি একটি নতুন পিডিএফ ডকুমেন্ট হিসেবে সেভ করতে পারবেন। এটি একাধিক পিডিএফ ডকুমেন্টের কন্টেন্ট একত্রিত করার জন্য খুবই উপকারী।

Content added By

পিডিএফবক্স (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 ব্যবহার করে পিডিএফ ফাইল স্প্লিট করা অত্যন্ত সহজ। আপনি প্রতিটি পৃষ্ঠা আলাদা পিডিএফ ফাইলে সেভ করতে পারেন। এটি সেই সময় কার্যকরী, যখন আপনার কাছে একটি বড় পিডিএফ ফাইল থাকে এবং আপনাকে তার বিভিন্ন অংশ আলাদা করে নিতে হয়।


Content added By

পিডিএফবক্স (PDFBox) Java লাইব্রেরি ব্যবহার করে পিডিএফ ডকুমেন্ট থেকে নির্দিষ্ট পেজ মুছে ফেলা বা নতুন পেজ সংযুক্ত করা যায়। এই টিউটোরিয়ালে আমরা দেখব কীভাবে পিডিএফ ডকুমেন্টে নির্দিষ্ট পেজ ডিলিট করা এবং নতুন পেজ অ্যাড করা যায়।


পিডিএফ ডকুমেন্টে নির্দিষ্ট পেজ ডিলিট করা

পিডিএফ ডকুমেন্ট থেকে নির্দিষ্ট পেজ মুছে ফেলার জন্য PDDocument ক্লাসের removePage() মেথড ব্যবহার করা হয়। এই মেথডটি পিডিএফ ডকুমেন্ট থেকে পেজের ইনডেক্স (যেমন 0, 1, 2, ...) দিয়ে নির্দিষ্ট পেজ মুছে ফেলে।

নির্দিষ্ট পেজ ডিলিট করার উদাহরণ:

import org.apache.pdfbox.pdmodel.PDDocument;
import java.io.File;
import java.io.IOException;

public class DeletePageExample {

    public static void main(String[] args) {
        try {
            // পিডিএফ ডকুমেন্ট লোড করা
            PDDocument document = PDDocument.load(new File("example.pdf"));

            // প্রথম পেজ (0 ইনডেক্স) মুছে ফেলা
            document.removePage(0);

            // পরিবর্তিত পিডিএফ ডকুমেন্ট সেভ করা
            document.save("modified_example.pdf");

            document.close();

            System.out.println("নির্দিষ্ট পেজ সফলভাবে মুছে ফেলা হয়েছে!");

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

কোড ব্যাখ্যা

  • removePage(0): এখানে পিডিএফ ডকুমেন্ট থেকে প্রথম পেজ (ইনডেক্স 0) মুছে ফেলা হচ্ছে।
  • document.save(): এটি পরিবর্তিত পিডিএফ ডকুমেন্টটি একটি নতুন ফাইলে সেভ করে।

পিডিএফ ডকুমেন্টে নতুন পেজ সংযুক্ত করা

পিডিএফ ডকুমেন্টে নতুন পেজ সংযুক্ত করার জন্য PDPage ক্লাস ব্যবহার করা হয়। একটি নতুন পেজ তৈরি করে PDDocument.addPage() মেথড দিয়ে এটি ডকুমেন্টে যোগ করা হয়।

নতুন পেজ সংযুক্ত করার উদাহরণ:

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
import org.apache.pdfbox.pdmodel.PDPageContentStream;

import java.io.File;
import java.io.IOException;

public class AddPageExample {

    public static void main(String[] args) {
        try {
            // পিডিএফ ডকুমেন্ট লোড করা
            PDDocument document = PDDocument.load(new File("example.pdf"));

            // একটি নতুন পেজ তৈরি
            PDPage newPage = new PDPage();
            document.addPage(newPage);

            // নতুন পৃষ্ঠায় কিছু টেক্সট যোগ করা
            PDPageContentStream contentStream = new PDPageContentStream(document, newPage);
            contentStream.beginText();
            contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12);
            contentStream.newLineAtOffset(100, 700);
            contentStream.showText("This is a new page added!");
            contentStream.endText();

            // কনটেন্ট স্ট্রিম বন্ধ করা
            contentStream.close();

            // পিডিএফ ডকুমেন্ট সেভ করা
            document.save("modified_with_new_page.pdf");

            document.close();

            System.out.println("নতুন পেজ সফলভাবে যোগ করা হয়েছে!");

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

কোড ব্যাখ্যা

  • PDPage newPage = new PDPage(): একটি নতুন পেজ তৈরি করা হয়েছে।
  • document.addPage(newPage): নতুন পেজটি পিডিএফ ডকুমেন্টে যোগ করা হয়েছে।
  • PDPageContentStream: নতুন পৃষ্ঠায় টেক্সট যোগ করার জন্য এটি ব্যবহার করা হয়েছে।

সারাংশ

পিডিএফবক্স (PDFBox) লাইব্রেরি ব্যবহার করে পিডিএফ ডকুমেন্ট থেকে নির্দিষ্ট পেজ মুছে ফেলা এবং নতুন পেজ সংযুক্ত করা সহজ। removePage() মেথড দিয়ে নির্দিষ্ট পেজ মুছে ফেলা যায় এবং addPage() মেথড দিয়ে নতুন পেজ যোগ করা যায়। এগুলি পিডিএফ ডকুমেন্টের কাস্টমাইজেশন এবং ম্যানিপুলেশনের জন্য কার্যকরী টুলস।

Content added By

পিডিএফবক্স (PDFBox) একটি শক্তিশালী লাইব্রেরি যা Java অ্যাপ্লিকেশনগুলিতে পিডিএফ ফাইলের ম্যানিপুলেশন করতে সাহায্য করে। এটি পিডিএফ ফাইল তৈরি, ম্যানিপুলেট এবং রিড করার পাশাপাশি, পিডিএফ ডকুমেন্টের বিভিন্ন ফিচার পরিবর্তন করতে ব্যবহৃত হয়। এই টিউটোরিয়ালে, আমরা দেখব কিভাবে পিডিএফ ফাইল ম্যানিপুলেট করা যায়।

পিডিএফবক্স সেটআপ

প্রথমে, আপনার প্রোজেক্টে PDFBox লাইব্রেরি যুক্ত থাকতে হবে। আপনি Maven অথবা Gradle ব্যবহার করে এটি যুক্ত করতে পারেন।

Maven (pom.xml):

<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>2.0.28</version>
</dependency>

Gradle (build.gradle):

implementation 'org.apache.pdfbox:pdfbox:2.0.28'

PDF ফাইল ম্যানিপুলেশন এর উদাহরণ

এখন, নিচে একটি উদাহরণ দেওয়া হলো যেখানে আমরা একটি পিডিএফ ফাইল ম্যানিপুলেট করতে দেখবো। এতে একটি পিডিএফ ফাইল থেকে পেজ কপি করা, পিডিএফ পেজ মুছে ফেলা এবং দুটি পিডিএফ ফাইল মেশানো অন্তর্ভুক্ত রয়েছে।

১. পিডিএফ পেজ কপি করা

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageTree;
import java.io.IOException;

public class ManipulatePDFExample {

    public static void main(String[] args) {
        try {
            // পিডিএফ ডকুমেন্ট লোড করা
            PDDocument document = PDDocument.load(new File("example.pdf"));

            // পিডিএফ থেকে পেজ কপি করা
            PDPageTree pages = document.getPages();
            PDPage page = pages.get(0);  // প্রথম পেজ কপি করা

            // নতুন পিডিএফ ডকুমেন্ট তৈরি
            PDDocument newDocument = new PDDocument();
            newDocument.addPage(page);

            // নতুন পিডিএফ সংরক্ষণ
            newDocument.save("copied_page.pdf");
            newDocument.close();
            document.close();

            System.out.println("পিডিএফ পেজ কপি সফল!");
        } catch (IOException e) {
            System.err.println("Error during PDF manipulation: " + e.getMessage());
        }
    }
}

২. পিডিএফ পেজ মুছে ফেলা

import org.apache.pdfbox.pdmodel.PDDocument;
import java.io.IOException;

public class RemovePageFromPDF {

    public static void main(String[] args) {
        try {
            // পিডিএফ ডকুমেন্ট লোড করা
            PDDocument document = PDDocument.load(new File("example.pdf"));

            // প্রথম পিডিএফ পেজ মুছে ফেলা
            document.removePage(0);

            // পিডিএফ ডকুমেন্ট সংরক্ষণ
            document.save("pdf_without_first_page.pdf");
            document.close();

            System.out.println("প্রথম পিডিএফ পেজ সফলভাবে মুছে ফেলা হয়েছে!");
        } catch (IOException e) {
            System.err.println("Error during PDF manipulation: " + e.getMessage());
        }
    }
}

৩. দুটি পিডিএফ মিশ্রণ করা

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.multipdf.PDFMergerUtility;
import java.io.IOException;

public class MergePDFs {

    public static void main(String[] args) {
        try {
            // পিডিএফ মার্জার ইউটিলিটি তৈরি
            PDFMergerUtility merger = new PDFMergerUtility();

            // দুটি পিডিএফ ফাইল যোগ করা
            merger.addSource("example1.pdf");
            merger.addSource("example2.pdf");

            // মার্জ করা পিডিএফ ফাইলের আউটপুট নির্ধারণ
            merger.setDestinationFileName("merged_example.pdf");

            // পিডিএফ মার্জ করা
            merger.mergeDocuments(null);

            System.out.println("পিডিএফ ফাইল দুটি সফলভাবে মার্জ করা হয়েছে!");
        } catch (IOException e) {
            System.err.println("Error during PDF merging: " + e.getMessage());
        }
    }
}

কোডের ব্যাখ্যা

  • PDDocument: এটি পিডিএফ ডকুমেন্টের একটি অবজেক্ট, যা পিডিএফ ফাইল লোড এবং ম্যানিপুলেট করতে ব্যবহৃত হয়।
  • removePage(): পিডিএফ থেকে একটি পৃষ্ঠা মুছে ফেলার জন্য ব্যবহৃত হয়।
  • PDFMergerUtility: এটি দুটি বা ততোধিক পিডিএফ ফাইলকে একত্রিত করার জন্য ব্যবহৃত হয়।
  • addSource(): একটি পিডিএফ ফাইলকে মার্জ করার জন্য উৎস হিসাবে যোগ করা হয়।
  • setDestinationFileName(): মার্জ করা পিডিএফ ফাইলের আউটপুট ফাইল নাম নির্ধারণ করে।

পিডিএফ ম্যানিপুলেশনের অন্যান্য কার্যকারিতা

  • পিডিএফ পেজের রোটেশন: আপনি একটি পিডিএফ পেজকে 90, 180, বা 270 ডিগ্রি রোটেট করতে পারেন।
  • পিডিএফ পেজের স্কেলিং: পিডিএফ পেজের আকার পরিবর্তন করা যেতে পারে।
  • পিডিএফ পেজের রূপান্তর: পিডিএফ ফাইলের একটি পৃষ্ঠাকে চিত্র, টেক্সট বা অন্যান্য ফরম্যাটে রূপান্তর করা যেতে পারে।

এভাবে পিডিএফবক্স ব্যবহার করে পিডিএফ ফাইলের বিভিন্ন কার্যক্রম যেমন পেজ কপি, পেজ মুছে ফেলা, এবং মার্জিং করা সহজভাবে সম্পন্ন করা যায়। এটি পিডিএফ ফাইল ম্যানিপুলেশনকে আরও কার্যকরী এবং সহজ করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...