Python - Разделить pdf или powerpoint по местоположению в пикселях? - PullRequest
0 голосов
/ 28 апреля 2020

Сначала я объясню свою дилемму: у меня есть несколько тысяч файлов powerpoint (.ppt), которые мне нужны для извлечения текста. Проблема в том, что текст неорганизован в файле, и когда он читается как полная страница, он не имеет смысла для того, что мне нужно (это читается в примере: строка 1, строка 3, строка 2, строка 4, строка 5).

Я использовал tika для чтения файлов изначально. Затем я подумал, что если я преобразую в pdf, используя glob и win32com.client, мне повезет больше, но это в основном тот же результат. Изображение здесь является примером того, на что похож текст.

Так что теперь моя идея сейчас заключается в том, могу ли я разделить pdf или ppt по пикселам (и при необходимости сохранить в отдельные временные файлы, открыть и прочитать таким образом) я могу держать все в порядке и получить то, что мне нужно. Хотя текст перемещается внутри каждого блока, черные контурные блоки всегда находятся примерно в одном и том же месте.

Я не могу найти ничего, чтобы разделить отдельную страницу PDF, только несколько страниц на одну страницу. У кого-нибудь есть идеи, как go сделать это?

Мне нужно прочитать текст в первом блоке вместе (строка 1 и строка 2) и загрузить в словарь или другой контейнер, и то же самое для второй коробки. Для справки в Powerpoint есть только один слайд.

enter image description here

1 Ответ

1 голос
/ 28 апреля 2020

Позвольте мне дать ответ в качестве общего руководства: оба файла .ppt и .pptx - это прославленные файлы .zip. Используйте 7-zip или WinZip, чтобы открыть .pptx и понять структуру. Преобразуйте их в файл .pptx. Теперь на каждом слайде должен быть файл. xml, полный тегов, которые можно проанализировать. Например, вы найдете теги для каждого текстового поля с тегами для текста этого блока, вложенного внутрь.

Также: python -pptx

Массовое преобразование путем настройки этого VBA код: Ссылка для VBA

Или с помощью PowerShell: Ссылка для [PowerShell]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...