الاستثناءات والأخطاء الشائعة المتعلقة بالخطوط على نظام لينكس
نصوص أو صور مفقودة (emf أو wmf) عند تنفيذ الكود على لينكس
تحدث هذه المشكلة في الأنظمة ذات القيود في هذه الحالات:
- عندما لا توجد خطوط مثبتة أو عندما لا يمكن الوصول إلى مجلد الخطوط لعملية الجافا
- عندما لا يمكن الوصول إلى دليل TEMP.
الحل
تحقق وتأكد من أنه تم منح الوصول إلى دليل TEMP ومجلد الخطوط.
الحل البديل
استخدم FontsLoader لتحميل الخطوط المطلوبة دون تثبيتها:
FontsLoader.loadExternalFonts(pathToFontsFolders);
إذا لم يكن بالإمكان الوصول إلى دليل TEMP، استخدم هذا الكود لتحديد دليل آخر كدليل TEMP لجافا:
String newTempFolder = “pathToTmpFolder”; String oldValue = System.getProperty(“java.io.tmpdir”); java.io.File file = new java.io.File(newTempFolder); if (!file.exists()) file.mkdir(); System.setProperty(“java.io.tmpdir”, newTempFolder); try {
FontsLoader.loadExternalFonts(pathToFontsFolders);
Presentation pres = ...
# ....
} finally { System.setProperty(“java.io.tmpdir”, oldValue); }
استثناء: InvalidOperationException: لا يمكن العثور على أي خطوط مثبتة على النظام
يحدث هذا الاستثناء عندما
- لا يمكن لعملية الجافا الوصول إلى مجلد الخطوط
- لم يتم تثبيت أي خطوط.
الحل
-
تحقق وتأكد من أنه تم منح الوصول إلى مجلد الخطوط لعملية جافا.
-
قم بتثبيت بعض الخطوط أو استخدم FontsLoader.
-
قم بتثبيت الخطوط.
- أوبونتو:
```
sudo apt-get update
sudo apt-get install -y fonts-dejavu-core
fc-cache -fv
```php
```
* سنتوس:
```php
```
sudo yum makecache
sudo yum -y install dejavu-sans-fonts
fc-cache -fv
```php
```
* باستخدام [FontsLoader](https://reference.aspose.com/slides/php-java/aspose.slides/FontsLoader):
```php
```
FontsLoader.loadExternalFonts(pathToFontsFolders);
```php
```
## **استثناء: NoClassDefFoundError: لم يتمكن من تهيئة الفئة com.aspose.slides.internal.ey.this**
يحدث هذا الاستثناء على نظام لينكس الذي يفتقر إلى fontconfig والخطوط.
### الحل:
قم بتثبيت fontconfig:
* أوبونتو:
```php
sudo apt-get update sudo apt-get -y install fontconfig
- سنتوس:
sudo yum makecache sudo yum -y install fontconfig
بالإضافة إلى ذلك، تتطلب بعض إصدارات open-jdk (على سبيل المثال، alpine JDK) أيضًا خطوط مثبتة.
- أوبونتو:
sudo apt-get install -y fonts-dejavu-core fc-cache -fv
- سنتوس:
sudo yum -y install dejavu-sans-fonts fc-cache -fv
استثناء: UnsatisfiedLinkError: libfreetype.so.6: لا يمكن فتح ملف الكائن المشترك: لا يوجد مثل هذا الملف أو الدليل
يحدث هذا الاستثناء على نظام لينكس الذي يفتقر إلى مكتبة libfreetype.
الحل:
قم بتثبيت libfreetype وfontconfig:
- أوبونتو:
sudo apt-get update sudo apt-get install libfreetype6 sudo apt-get -y install fontconfig
- سنتوس:
sudo yum makecache sudo yum install libfreetype6 sudo yum -y install fontconfig