Вивчення проблем Aspose.Words FOSS для Python
Помилки імпорту
ModuleNotFoundError: No module named 'aspose_font'
Пакет не встановлений в активному середовищі Python. Завантажити:
pip install "aspose-font>=1.0.0"Переконайтеся, що ви встановлюєте в правильному віртуальному середовищі, якщо використовуєте його.
ImportError: cannot import name 'FontType' from 'aspose_font'
FontType експортується з верхнього рівня. aspose_font Пакет. використання:
from aspose_font import FontType # correctЯкщо ви бачите цю помилку, підтверджіть, що у вас є aspose-font>=1.0.0 встановлений у вашому активному середовищі.
Помилки завантаження шрифтів
FontLoadException при дзвінці FontLoader.open()
Можливі причини:
- Шлях до файлу невірний або файл не існує .
- Файл пошкоджений або має нестандартний заголовок .
- Ви пропустили байт-об’єкт, який не є дійсним шрифтом.
Перед завантаженням перевірте, що файл існує:
import os
from aspose_font.loader import FontLoader
path = "MyFont.ttf"
if not os.path.exists(path):
raise FileNotFoundError(path)
font = FontLoader.open(path)Проблеми з переміщенням маршруту Windows
Використовуйте прямі струки або перетисні значки в Windows:
font = FontLoader.open(r"C:\Fonts\MyFont.ttf")
# or
font = FontLoader.open("C:/Fonts/MyFont.ttf")Помилки API
AttributeError: 'Font' object has no attribute 'ttf_tables'
ttf_tables є майно на TtfFont, не основа . Font Використовуйте аннотацію типу:
from aspose_font.ttf.font import TtfFont
ttf_font: TtfFont = FontLoader.open("MyFont.ttf")
tables = ttf_font.ttf_tablesNotImplementedError від Font.to_bytes()
Font.to_bytes() піднімає NotImplementedError тільки при покликанні абстрактного базового класу. Всі конкретні класи шрифтів (TtfFont, CffFont, WoffFont, Woff2Font, і т.д.) впроваджувати to_bytes() і повернути байти шрифту. Якщо ви подзвоните FontLoader.open() Ви отримуєте бетон. закликання to_bytes() безпосередньо або за допомогою FontConverter.convert() щоб спочатку змінити формат:
from aspose_font.converter import FontConverter
from aspose_font import FontType
woff2 = FontConverter.convert(font, FontType.WOFF2)