Spaces:
Paused
Paused
File size: 1,088 Bytes
d249b39 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import os
from pdf2image import convert_from_path
from docx import Document
import tempfile
def docx_to_images(path: str):
"""
Преобразовать .docx → изображения страниц.
Если poppler отсутствует, выбрасываем исключение,
чтобы Streamlit мог показать предупреждение.
"""
try:
# docx → pdf → images
with tempfile.TemporaryDirectory() as tmp:
pdf_path = os.path.join(tmp, "temp.pdf")
# Преобразование docx → pdf
# Здесь мы делаем максимально простой экспорт:
doc = Document(path)
doc.save(pdf_path)
# pdf → images
images = convert_from_path(pdf_path)
return images
except Exception as e:
raise RuntimeError(
"DOCX обработка недоступна: отсутствует poppler "
"или системные зависимости."
) from e
|