استخراج الخطوط من PDF
Contents
[
Hide
]
في حال أردت الحصول على جميع الخطوط من مستند 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();
}