استخراج الخطوط من PDF

Contents
[ ]

في حال أردت الحصول على جميع الخطوط من مستند PDF، يمكنك استخدام Document.IDocumentFontUtilities.getAllFonts() المقدمة في فئة الوثيقة. يرجى مراجعة المقتطف البرمجي التالي للحصول على جميع الخطوط من مستند PDF موجود:


    // إنشاء مثيل جديد لفئة الترخيص وتعيين ملف الترخيص.
    $licenceObject = new License();
    $licenceObject->setLicense($license);

    // تعيين المسار إلى الدليل الذي يحتوي على مستند PDF ودليل الإخراج للخطوط المستخرجة.
    $dataDir = getcwd() . DIRECTORY_SEPARATOR . "samples";
    $inputFile = $dataDir . DIRECTORY_SEPARATOR . "sample.pdf";

    // تهيئة متغير بيانات الاستجابة.
    $responseData = "";

    try {
        // تحميل مستند PDF.
        $document = new Document($inputFile);

        // الحصول على جميع الخطوط المستخدمة في مستند PDF.
        $fonts = java_values($document->getFontUtilities()->getAllFonts());

        // التكرار على كل خط وحفظه كملف خط TrueType.
        foreach ($fonts as $font) {
            // تعيين مسار ملف الإخراج لملف الخط.
            $outputFile = $dataDir . DIRECTORY_SEPARATOR . "results" . DIRECTORY_SEPARATOR . $font->getFontName() . ".ttf";

            // إنشاء كائن FileOutputStream لكتابة ملف الخط.
            $fontStream = new java("java.io.FileOutputStream", $outputFile);

            // حفظ الخط كملف خط TrueType.
            $font->save($fontStream);

            // إغلاق تدفق الخط.
            $fontStream->close();

            // إلحاق اسم الخط ببيانات الاستجابة.
            $responseData = $responseData . $font->getFontName() . ", ";
        }

        // إغلاق مستند PDF.
        $document->close();
    }