#java #pdfbox
#ява #pdf — коробка
Вопрос:
Я пытаюсь использовать PDFBox для извлечения текста из разных документов с разными макетами (1, 2 или более столбцов) с верхними и нижними колонтитулами. Есть ли способ гарантировать, что заголовки / текст в нескольких столбцах / нижних колонтитулах отображаются правильно по порядку?
Комментарии:
1. Это полностью зависит от того, как создаются эти PDF-файлы. Например. если текстовые фрагменты отображаются в нужном вам порядке, просто отключите свойство сортировки средства удаления текста. Или бусины определены правильно? Затем используйте зачистку текста бисером.
2. Я должен предположить, что PDF-файлы построены настолько по-разному, насколько это возможно. В настоящее время я отключил свойство сортировки, но для верхних и нижних колонтитулов порядок может быть беспорядочным. То, что я сейчас делаю, — это использую эвристику, чтобы понять, принадлежит ли строка верхнему или нижнему колонтитулу, и упорядочить ее, но я хотел знать, есть ли лучшие стратегии.
3. Я боюсь, что действительно универсальное решение требует некоторого искусственного интеллекта. Например. рассмотрим случай газетных страниц с многоколоночными вставками, такими как изображения. В зависимости от рассматриваемой статьи и характера вставки текст в первом столбце над такой вставкой может продолжаться во втором столбце выше или в первом столбце ниже. Иногда я, как человек, нахожу правильный порядок только после попытки прочитать его в любом случае и определения того, что один из способов не имеет смысла.