PDPageContentStream এর মাধ্যমে Content ম্যানেজমেন্ট

PDF ফাইলের জন্য ContentStream ম্যানেজমেন্ট - পিডিএফবক্স (PDFbox) - Java Technologies

238

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

PDPageContentStream এর ভূমিকা

PDPageContentStream পিডিএফ ডকুমেন্টে কন্টেন্ট লেখার জন্য ব্যবহৃত একটি ক্লাস। এটি পিডিএফ পেজে টেক্সট, লাইন, শেপ, পাথ এবং অন্যান্য কন্টেন্ট ড্র করার জন্য একাধিক মেথড সরবরাহ করে।

PDPageContentStream ব্যবহার করে কন্টেন্ট যোগ করার প্রক্রিয়া

১. পিডিএফ ডকুমেন্ট তৈরি এবং পেজ অ্যাড করা

প্রথমে আপনাকে পিডিএফ ডকুমেন্ট তৈরি করতে হবে এবং পিডিএফ পেজে কন্টেন্ট যোগ করার জন্য একটি 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 PDFContentManagement {
    public static void main(String[] args) {
        try {
            // নতুন পিডিএফ ডকুমেন্ট তৈরি
            PDDocument document = new PDDocument();
            
            // নতুন পিডিএফ পেজ তৈরি
            PDPage page = new PDPage();
            document.addPage(page);

            // PDPageContentStream অবজেক্ট তৈরি
            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("কন্টেন্ট সফলভাবে পিডিএফে যোগ করা হয়েছে!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

এখানে, PDPageContentStream ব্যবহার করে পিডিএফ পেজে "Hello, PDFBox!" টেক্সট যোগ করা হয়েছে।

PDPageContentStream এর মাধ্যমে বিভিন্ন কন্টেন্ট যোগ করা

২. লাইন, শেপ এবং পাথ ড্র করা

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

লাইন ড্র করা
contentStream.setLineWidth(1f); // লাইনের প্রস্থ
contentStream.moveTo(100, 700); // লাইন শুরু করার স্থান
contentStream.lineTo(200, 700); // লাইন শেষ হওয়ার স্থান
contentStream.stroke(); // লাইন আঁকা
রেকট্যাঙ্গেল (Rectangle) ড্র করা
contentStream.setLineWidth(2f); // লাইনের প্রস্থ নির্ধারণ
contentStream.rectangle(100, 650, 200, 100); // রেকট্যাঙ্গেলের অবস্থান এবং আকার
contentStream.stroke(); // রেকট্যাঙ্গেল আঁকা
পাথ (Path) ড্র করা
contentStream.moveTo(100, 600); // পাথ শুরু
contentStream.lineTo(200, 600); // পাথের প্রথম অংশ
contentStream.lineTo(200, 500); // পাথের দ্বিতীয় অংশ
contentStream.closePath(); // পাথের শেষ
contentStream.stroke(); // পাথ আঁকা

৩. ইমেজ যোগ করা

পিডিএফ পেজে ইমেজ যোগ করতে PDImageXObject ক্লাস ব্যবহার করতে হয়। এটি পিডিএফ পেজে ইমেজ ড্র করার জন্য ব্যবহৃত হয়।

import org.apache.pdfbox.pdmodel.PDImageXObject;
import java.io.File;

PDImageXObject image = PDImageXObject.createFromFile("image.png", document);
contentStream.drawImage(image, 100, 500, image.getWidth()/2, image.getHeight()/2); // ইমেজের পজিশন এবং আকার নির্ধারণ

৪. কাস্টম ফন্ট ব্যবহার

PDPageContentStream দিয়ে আপনি কাস্টম ফন্টও ব্যবহার করতে পারেন। এটি পিডিএফ ডকুমেন্টে টেক্সট প্রদর্শনের জন্য স্টাইল এবং ফন্ট নির্ধারণের জন্য কার্যকরী।

contentStream.setFont(PDType1Font.HELVETICA_OBLIQUE, 12); // কাস্টম ফন্ট ব্যবহার
contentStream.showText("This is Italic text!"); // টেক্সট প্রদর্শন

PDPageContentStream এর মাধ্যমে কন্টেন্ট ম্যানেজমেন্টের সুবিধা

  • ফ্লেক্সিবিলিটি: এটি পিডিএফ পেজে টেক্সট, শেপ, ইমেজ, লাইন ইত্যাদি অ্যাড করার জন্য খুবই ফ্লেক্সিবল এবং কাস্টমাইজযোগ্য।
  • স্টাইলিং: টেক্সটের ফন্ট, আকার, রং এবং অন্যান্য স্টাইল প্যারামিটার কাস্টমাইজ করতে পারবেন।
  • পজিশনিং: আপনি টেক্সট এবং অন্যান্য কন্টেন্টের অবস্থান নির্ধারণ করতে পারবেন এবং কাস্টমাইজযোগ্য পজিশনে তা রাখবেন।
  • রিচ কন্টেন্ট: এটি একাধিক লেয়ার বা কন্টেন্টের উপাদান একত্রে পিডিএফ ডকুমেন্টে সাজানোর সুযোগ দেয়।

এইভাবে PDPageContentStream ব্যবহার করে আপনি পিডিএফ ডকুমেন্টে কন্টেন্ট যোগ, ম্যানেজ এবং কাস্টমাইজ করতে পারেন। এটি পিডিএফ ডকুমেন্টের কন্টেন্ট ম্যানেজমেন্টের জন্য একটি শক্তিশালী টুল যা Java ডেভেলপারদের জন্য অত্যন্ত উপযোগী।

Content added By
Promotion

Are you sure to start over?

Loading...