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