PDF ফাইল থেকে Embedded Fonts রিড করা

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

278

পিডিএফবক্স (PDFBox) ব্যবহার করে আপনি পিডিএফ ডকুমেন্টে এম্বেডেড ফন্ট (Embedded Fonts) রিড করতে পারেন। পিডিএফ ডকুমেন্টে এম্বেডেড ফন্ট থাকা মানে হল যে সেই ফন্টটি পিডিএফ ডকুমেন্টের সঙ্গে সংযুক্ত করা হয়েছে, এবং এটি পিডিএফ ফাইলটির মধ্যে নির্দিষ্ট স্থানেই প্রদর্শিত হবে। এম্বেডেড ফন্ট রিড করার জন্য পিডিএফবক্স ফন্ট রিলেটেড তথ্য সংগ্রহ করার জন্য নির্দিষ্ট API প্রদান করে।

পিডিএফ ফাইল থেকে এম্বেডেড ফন্ট রিড করার প্রক্রিয়া

এম্বেডেড ফন্টের তথ্য রিড করার জন্য পিডিএফবক্সের PDDocument এবং PDFont ক্লাস ব্যবহৃত হয়। পিডিএফ ডকুমেন্টের মধ্যে ফন্ট সম্পর্কিত তথ্য পাওয়া যায় PDResources এবং PDFont ক্লাসের মাধ্যমে, যা ফন্টের ধরন এবং সেটিংস ইত্যাদি সম্পর্কে তথ্য প্রদান করে।

উদাহরণ: পিডিএফ ফাইল থেকে এম্বেডেড ফন্ট রিড করা

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

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.font.PDFont;
import org.apache.pdfbox.pdmodel.font.PDType0Font;
import org.apache.pdfbox.pdmodel.PDResources;

import java.io.File;
import java.io.IOException;
import java.util.Iterator;

public class PDFEmbeddedFontsExample {

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

            // পিডিএফ ডকুমেন্টে সকল পৃষ্ঠা (pages) থেকে ফন্ট রিড করা
            for (PDPage page : document.getPages()) {
                PDResources resources = page.getResources();

                // পৃষ্ঠার সমস্ত ফন্ট এক্সট্র্যাক্ট করা
                Iterator<PDFont> fontIterator = resources.getFonts();

                while (fontIterator.hasNext()) {
                    PDFont font = fontIterator.next();
                    System.out.println("Font: " + font.getName());
                }
            }

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

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

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

  1. PDDocument.load(File file): এটি পিডিএফ ফাইল লোড করার জন্য ব্যবহৃত হয়।
  2. PDPage.getResources(): এটি পিডিএফ পৃষ্ঠার সমস্ত রিসোর্স (যেমন, ফন্ট, ইমেজ) ফেরত দেয়।
  3. resources.getFonts(): এটি পৃষ্ঠায় ব্যবহৃত সমস্ত ফন্ট ফেরত দেয়। এই ফন্টগুলির মধ্যে এম্বেডেড ফন্ট থাকতে পারে।
  4. PDFont.getName(): এটি ফন্টের নাম রিটার্ন করে, যা এম্বেডেড ফন্টের তথ্য দিয়ে থাকে।

এম্বেডেড ফন্টের ধরন

পিডিএফ ফাইলের মধ্যে সাধারণত নিম্নলিখিত ফন্ট ধরনের এম্বেডিং দেখা যায়:

  • TrueType Fonts (TTF): এটি একটি জনপ্রিয় ফন্ট ফর্ম্যাট যা সাধারণত পিডিএফ ডকুমেন্টে এম্বেড করা হয়।
  • Type1 Fonts: এটি আরেকটি ফন্ট ফর্ম্যাট যা পিডিএফ ডকুমেন্টে এম্বেড করা হতে পারে।
  • OpenType Fonts (OTF): এটি আধুনিক ফন্ট ফর্ম্যাট যা পিডিএফ ফাইলের মধ্যে এম্বেড থাকতে পারে।

পিডিএফ থেকে এম্বেডেড ফন্টের অন্যান্য তথ্য

আপনি ফন্টের নাম এবং ধরন ছাড়াও, ফন্টের বৈশিষ্ট্য যেমন ফন্ট সাইজ, বোল্ড/ইটালিক প্রপার্টি ইত্যাদি দেখতে পারেন। তবে এই তথ্য পিডিএফের মাধ্যমে সরাসরি এক্সট্র্যাক্ট করা একটু কঠিন হতে পারে এবং এটি নির্ভর করে ফন্টের এম্বেডিং কিভাবে করা হয়েছে তার উপর।


সারাংশ

পিডিএফবক্স (PDFBox) ব্যবহার করে পিডিএফ ফাইল থেকে এম্বেডেড ফন্ট রিড করা সম্ভব। আপনি PDResources এবং PDFont ক্লাস ব্যবহার করে পিডিএফ ডকুমেন্টে ব্যবহৃত সমস্ত ফন্টের তথ্য এক্সট্র্যাক্ট করতে পারেন। এই ফন্টগুলো পিডিএফ ফাইলের মধ্যে এম্বেডেড থাকে, যা সাধারণত টেক্সট প্রদর্শনের জন্য ব্যবহৃত হয়।

Content added By
Promotion

Are you sure to start over?

Loading...