PDF তৈরি করা

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

393

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

পিডিএফ তৈরি করার প্রক্রিয়া

পিডিএফ তৈরি করার জন্য আপনাকে প্রথমে একটি PDDocument অবজেক্ট তৈরি করতে হবে, তারপর একটি পৃষ্ঠা (page) যোগ করতে হবে এবং শেষে সেই পৃষ্ঠায় কনটেন্ট লেখার জন্য PDPageContentStream ব্যবহার করতে হবে।

পিডিএফ তৈরি করার উদাহরণ

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

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 PDFCreateExample {

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

            // একটি নতুন পৃষ্ঠা (Page) তৈরি
            PDPage page = new PDPage();
            document.addPage(page);

            // পৃষ্ঠায় কনটেন্ট যোগ করার জন্য ContentStream তৈরি
            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("created_pdf_example.pdf");

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

            System.out.println("PDF created successfully.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

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

  1. PDDocument অবজেক্ট তৈরি: PDDocument হল পিডিএফ ডকুমেন্টের একটি রেপ্রেজেন্টেশন। এটি পিডিএফ ফাইলের মধ্যে পৃষ্ঠাগুলি ধারণ করে।
  2. PDPage অবজেক্ট তৈরি: এটি পিডিএফ ডকুমেন্টে একটি নতুন পৃষ্ঠা তৈরি করে।
  3. PDPageContentStream অবজেক্ট তৈরি: এটি পৃষ্ঠার উপরে কনটেন্ট যোগ করার জন্য ব্যবহৃত হয়। এতে টেক্সট, ইমেজ বা অন্য কোনো গ্রাফিক্স যোগ করা যায়।
  4. টেক্সট যোগ করা: beginText(), setFont(), newLineAtOffset() এবং showText() মেথডগুলির মাধ্যমে টেক্সট যোগ করা হয়।
  5. পিডিএফ ফাইল সেভ করা: document.save("filename.pdf") মেথডের মাধ্যমে পিডিএফ ডকুমেন্টটি ডিস্কে সেভ করা হয়।
  6. ডকুমেন্ট বন্ধ করা: document.close() মেথডের মাধ্যমে ডকুমেন্ট বন্ধ করা হয়।

পিডিএফ ফাইল সেভ করার পর

উপরের কোডটি চালানোর পর created_pdf_example.pdf নামক একটি পিডিএফ ফাইল তৈরি হবে, যার মধ্যে "Hello, PDFBox!" লেখা থাকবে।


পিডিএফবক্স (PDFBox) ব্যবহার করে Java প্রোগ্রামিং ভাষায় সহজেই পিডিএফ ডকুমেন্ট তৈরি করা সম্ভব। এই প্রক্রিয়াটি পিডিএফ ফাইল তৈরি করতে খুবই কার্যকর এবং বিভিন্ন ধরনের কনটেন্ট যোগ করার সুবিধা প্রদান করে।

Content added By

পিডিএফবক্স (PDFBox) ব্যবহার করে Java প্রোগ্রামিং ভাষায় পিডিএফ ডকুমেন্ট তৈরি করা অত্যন্ত সহজ এবং কার্যকর। এই লাইব্রেরি ডকুমেন্ট তৈরি, কনটেন্ট ম্যানিপুলেশন, এবং পিডিএফ ফাইলের বিভিন্ন ধরণের কাস্টমাইজেশন সম্ভব করে তোলে। এখানে পিডিএফ তৈরি করার প্রাথমিক ধারণা এবং কোড উদাহরণ দেওয়া হলো।

পিডিএফ তৈরি করার প্রক্রিয়া

পিডিএফবক্স ব্যবহার করে একটি পিডিএফ ডকুমেন্ট তৈরি করার জন্য আপনাকে কয়েকটি স্টেপ অনুসরণ করতে হবে:

  1. PDDocument তৈরি করুন: এটি পিডিএফ ডকুমেন্টের একটি অবজেক্ট তৈরি করবে।
  2. PDPage যোগ করুন: পিডিএফ ডকুমেন্টে একটি বা একাধিক পেজ যোগ করতে হবে।
  3. PDPageContentStream ব্যবহার করুন: পৃষ্ঠার কনটেন্ট যোগ করতে PDPageContentStream অবজেক্ট ব্যবহার করতে হয়।
  4. টেক্সট বা অন্যান্য কনটেন্ট যোগ করুন: পিডিএফে টেক্সট, ছবি, টেবিল ইত্যাদি যোগ করা যায়।
  5. ডকুমেন্ট সেভ করুন: তৈরি করা পিডিএফ ডকুমেন্টটি সেভ করতে হয়।

উদাহরণ: একটি পিডিএফ ডকুমেন্ট তৈরি

নিম্নলিখিত কোডটি একটি সিম্পল পিডিএফ ডকুমেন্ট তৈরি করবে এবং তাতে কিছু টেক্সট যোগ করবে:

import org.apache.pdfbox.pdmodel.*;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
import java.io.IOException;

public class PDFCreationExample {

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

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

        try {
            // পেজে কনটেন্ট যোগ করার জন্য ContentStream তৈরি করুন
            PDPageContentStream contentStream = new PDPageContentStream(document, page);

            // কনটেন্ট স্ট্রিমের মাধ্যমে টেক্সট যোগ করুন
            contentStream.beginText();
            contentStream.setFont(PDType1Font.HELVETICA_BOLD, 16); // ফন্ট সেট করুন
            contentStream.newLineAtOffset(100, 700); // পজিশন নির্ধারণ করুন
            contentStream.showText("Hello, PDFBox!"); // টেক্সট প্রদর্শন করুন
            contentStream.endText();

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

            // পিডিএফ ডকুমেন্টটি সেভ করুন
            document.save("created_document.pdf");
            document.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

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

  1. PDDocument document = new PDDocument();
    এটি একটি নতুন পিডিএফ ডকুমেন্ট তৈরি করে।
  2. PDPage page = new PDPage();
    এটি একটি নতুন পিডিএফ পেজ তৈরি করে এবং document.addPage(page); এর মাধ্যমে ডকুমেন্টে যোগ করা হয়।
  3. PDPageContentStream contentStream = new PDPageContentStream(document, page);
    এটি পিডিএফ পৃষ্ঠার কনটেন্ট স্ট্রিম তৈরি করে, যার মাধ্যমে পিডিএফে টেক্সট বা অন্য কনটেন্ট যোগ করা যায়।
  4. contentStream.beginText();
    এটি টেক্সট লেখা শুরু করার নির্দেশ দেয়।
  5. contentStream.setFont(PDType1Font.HELVETICA_BOLD, 16);
    এটি টেক্সটের ফন্ট এবং আকার নির্ধারণ করে।
  6. contentStream.showText("Hello, PDFBox!");
    এটি পিডিএফ পৃষ্ঠায় "Hello, PDFBox!" লেখা প্রদর্শন করে।
  7. document.save("created_document.pdf");
    এটি পিডিএফ ডকুমেন্টটি নির্দিষ্ট নামের সাথে সেভ করে।
  8. document.close();
    ডকুমেন্টটি বন্ধ করা হয় যাতে আর কোনো পরিবর্তন করা না যায়।

উপসংহার

পিডিএফবক্স (PDFBox) Java ব্যবহার করে পিডিএফ ডকুমেন্ট তৈরি করা খুবই সহজ। উপরের উদাহরণটি একটি মৌলিক ধারণা প্রদান করে, যা ব্যবহারকারীদের পিডিএফ তৈরি করার প্রক্রিয়া বুঝতে সাহায্য করে। আপনি আরও কাস্টমাইজেশন করতে পারবেন, যেমন টেবিল যোগ করা, ছবি ইনসার্ট করা বা ডিজিটাল সিগনেচার অ্যাড করা।

Content added By

পিডিএফবক্স (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 ব্যবহার করে আরও জটিল পিডিএফ ডকুমেন্ট তৈরি, সম্পাদনা বা এক্সট্র্যাক্ট করা সম্ভব।

Content added By

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

পিডিএফ ডকুমেন্টে সিম্পল টেক্সট যোগ করার জন্য প্রয়োজনীয় কোড

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

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 AddTextToPDF {
    public static void main(String[] args) {
        // নতুন পিডিএফ ডকুমেন্ট তৈরি করা
        PDDocument document = new PDDocument();

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

        try {
            // পিডিএফ পৃষ্ঠার কনটেন্ট স্ট্রিম তৈরি করা
            PDPageContentStream contentStream = new PDPageContentStream(document, page);

            // টেক্সট শুরু করা
            contentStream.beginText();
            contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12); // ফন্ট এবং সাইজ নির্ধারণ
            contentStream.newLineAtOffset(100, 700); // টেক্সটের স্থান নির্ধারণ (x, y)
            contentStream.showText("Hello, this is a simple text in PDF!"); // টেক্সট যোগ করা
            contentStream.endText();

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

            // পিডিএফ ফাইল সংরক্ষণ করা
            document.save("simple_text_example.pdf");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                // ডকুমেন্ট বন্ধ করা
                document.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

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

  • PDDocument: এটি পিডিএফ ডকুমেন্ট তৈরি বা খোলার জন্য ব্যবহৃত ক্লাস।
  • PDPage: পিডিএফ ডকুমেন্টে একটি নতুন পৃষ্ঠা তৈরি করতে ব্যবহৃত হয়।
  • PDPageContentStream: এটি পৃষ্ঠার কনটেন্ট (যেমন টেক্সট বা গ্রাফিক্স) লেখার জন্য ব্যবহৃত হয়।
  • setFont(): এই মেথড দিয়ে পিডিএফে ব্যবহার করা ফন্ট এবং তার সাইজ নির্ধারণ করা হয়।
  • newLineAtOffset(): এটি টেক্সটের অবস্থান নির্ধারণ করে (x এবং y কোঅর্ডিনেট দিয়ে)।
  • showText(): এই মেথড ব্যবহার করে পিডিএফে টেক্সট যোগ করা হয়।
  • document.save(): পিডিএফ ডকুমেন্টটি সেভ করার জন্য ব্যবহার করা হয়।

টেক্সটের অবস্থান এবং ফন্ট

  • আপনি যদি টেক্সটের অবস্থান পরিবর্তন করতে চান, তাহলে newLineAtOffset(x, y) মেথডের x এবং y মান পরিবর্তন করুন।
  • টেক্সটের ফন্ট পরিবর্তন করতে setFont() মেথডে আলাদা ফন্ট ব্যবহার করতে পারেন, যেমন PDType1Font.HELVETICA অথবা PDType1Font.TIMES_ROMAN

এই কোডটি একটি নতুন পিডিএফ ডকুমেন্ট তৈরি করবে এবং তাতে "Hello, this is a simple text in PDF!" এই টেক্সট যোগ করবে। এটি সহজে পিডিএফ ডকুমেন্টে টেক্সট যোগ করার একটি উদাহরণ।

Content added By

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

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

প্রথমে, আপনার 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'

এখন, PDFBox এর সাথে কাজ শুরু করার জন্য কোডের উদাহরণ দেখা যাক।

প্রথম পিডিএফ তৈরি করা

পিডিএফবক্স ব্যবহার করে একটি পিডিএফ ডকুমেন্ট তৈরি করার উদাহরণ নিচে দেওয়া হলো:

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 CreatePDFExample {

    public static void main(String[] args) {
        // পিডিএফ ডকুমেন্ট তৈরি
        PDDocument document = new PDDocument();
        
        try {
            // নতুন পিডিএফ পেজ যোগ করা
            PDPage page = new PDPage();
            document.addPage(page);
            
            // পিডিএফ কনটেন্ট স্ট্রিম তৈরি
            PDPageContentStream contentStream = new PDPageContentStream(document, page);
            
            // টেক্সট শুরু করা
            contentStream.beginText();
            contentStream.setFont(PDType1Font.HELVETICA_BOLD, 16);  // ফন্ট এবং আকার সেট করা
            contentStream.newLineAtOffset(100, 700);  // পেজের ওপরের স্থান নির্ধারণ
            contentStream.showText("Hello, this is my first PDF document!");  // টেক্সট যোগ করা
            contentStream.endText();
            
            // কনটেন্ট স্ট্রিম বন্ধ করা
            contentStream.close();
            
            // পিডিএফ ডকুমেন্ট সংরক্ষণ
            document.save("first_example.pdf");
            
            // ডকুমেন্ট বন্ধ করা
            document.close();
            
            System.out.println("পিডিএফ সফলভাবে তৈরি হয়েছে!");
        } catch (IOException e) {
            System.err.println("পিডিএফ তৈরি করতে সমস্যা হয়েছে: " + e.getMessage());
        }
    }
}

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

  • PDDocument: এটি পিডিএফ ডকুমেন্টের একটি অবজেক্ট, যা নতুন পিডিএফ ডকুমেন্ট তৈরি করার জন্য ব্যবহৃত হয়।
  • PDPage: এটি পিডিএফের একটি পৃষ্ঠা, যেখানে কনটেন্ট যোগ করা হবে।
  • PDPageContentStream: এটি একটি কনটেন্ট স্ট্রিম যা পিডিএফ পেজে টেক্সট এবং অন্যান্য গ্রাফিক্স যুক্ত করতে ব্যবহৃত হয়।
  • PDType1Font.HELVETICA_BOLD: এটি একটি প্রিসেট ফন্ট যা টেক্সট লেখার জন্য ব্যবহৃত হয়। এখানে হেলভেটিকা বোল্ড ফন্ট ব্যবহার করা হয়েছে।

পিডিএফ সংরক্ষণ

document.save("first_example.pdf"); এর মাধ্যমে পিডিএফ ফাইলটি বর্তমান ডিরেক্টরিতে "first_example.pdf" নামে সংরক্ষণ করা হবে।


এভাবে আপনি সহজেই PDFBox ব্যবহার করে প্রথম পিডিএফ ফাইল তৈরি করতে পারবেন। এটি Java-তে পিডিএফ ডকুমেন্ট তৈরি ও ম্যানিপুলেশন করার জন্য একটি শক্তিশালী এবং কার্যকরী টুল।

Content added By
Promotion

Are you sure to start over?

Loading...