Форум сайта python.su
Здравствуйте.
Нужно из PDF получать в Word с чистой разметкой (текст в стиле заголовка, обычный текст, таблицы, изображения).
Тестировал готовые решения: экспорт в Word в самом pdf, сервисы конвертирования, FineReader. На выходе получаю кашу из артефактов, причем рандомную от файла к файлу.
Вопросы:
1. В PDF разметке есть ли свойство для текста “Заголовок”? Или в PDF только визуально текст выделяют как заголовок?
2. Если использоваться Python библиотеки конвертации из PDF в Word, то можно извлекать по отдельности каждый объект?
3. Если в PDF вместо 1 изображения несколько картинок и текст на слоях, можно ли их “склеить” в одну картинку?
Офлайн
PDF - это контейнер просто, который сделан для того, чтобы его содержимое (контент) одинаково отображалось в любых программах на любых устройствах. Поэтому это не просто там какой-то формат, который просто нужен для чего-то. Там могут быть какие-нибудь отдельные элементы внутри, типа шрифтов там и прочего, а могут быть просто изображения страниц. Его задача - отобразить одинаково, без потерь элементов и без потерь и искажений форматирования. Поэтому смотреть на PDF'ы так, что они все одинаковые, - неправильно. Одно и то же на вид может абсолютно по-разному храниться внутри, ещё и в нескольких вариантах.
rownongЕсли там есть разметка, то у неё есть все эти элементы, а если там просто картинка, то у ней нет этих элементов, потому что всё это нарисовано целиком, а не собирается по частям.
1. В PDF разметке есть ли свойство для текста “Заголовок”? Или в PDF только визуально текст выделяют как заголовок?
rownongТам может не быть отдельных объектов. Там могут быть отдельные объекты, но тоже при этом быть не в одном виде, а во множестве видов.
2. Если использоваться Python библиотеки конвертации из PDF в Word, то можно извлекать по отдельности каждый объект?
rownongНу можно их извлечь и склеить.
3. Если в PDF вместо 1 изображения несколько картинок и текст на слоях, можно ли их “склеить” в одну картинку?
Отредактировано py.user.next (Фев. 11, 2025 22:47:17)
Офлайн