ispras / dedoc

Dedoc is a library (service) for automate documents parsing and bringing to a uniform format. It automatically extracts content, logical structure, tables, and meta information from textual electronic documents. (Parse document; Document content extraction; Logical structure extraction; PDF parser; Scanned document parser; DOCX parser; HTML parser
Apache License 2.0
111 stars 15 forks source link

Ошибка в определении page_id #410

Closed ValiullinAlbert closed 3 months ago

ValiullinAlbert commented 4 months ago

В файлах docx у каждой строки page_id равен 0, например в приклепленном файле sample1.docx

reader = DocxReader(config={}) 
document = reader.read(filepath, parameters={"with_attachments": "false"}) 
for index, line in enumerate(document.lines):
    print(line.metadata.to_api_schema())
NastyBoget commented 3 months ago

В docx нет четкого разделения на страницы - они меняются в зависимости от приложения, открывающего документ. На данный момент у всех строк docx документов page_id=0, максимум, что можно сделать - это увеличивать page_id при разрыве страницы

oksidgy commented 3 months ago

Разрыв страницы в docx опционален, отсюда разрыв не совсем ложиться на логику страниц документа в целом. Это все же разные понятия разрыв страницы и страница.

Страницы документа формируются редакторами офисных форматов самостоятельно при рендеринге документа на экране. Отсюда количество страниц документа в одном редакторе ( например Microsoft word) будет отличаться от количества страниц этого же документа, но в другом редакторе (например libreoffice, WPS и т.д.)