Извлечение таблиц PDF в Python

В этой статье вы узнаете, как извлекать таблицы из файлов PDF с помощью Python. PDF — это популярный формат для обмена данными, однако извлечение таблиц из PDF может быть сложной задачей. Есть несколько доступных библиотек Python, которые могут помочь нам с этой задачей. Тем не менее, точного извлечения данных может не хватать.

Итак, давайте узнаем, как извлечь табличные данные из PDF с высокой точностью, написав всего несколько строк кода. К концу этого руководства вы сможете извлекать таблицы из PDF-файлов с помощью Python и манипулировать ими по мере необходимости.

Библиотека Python для извлечения таблиц из PDF

Для извлечения данных из таблиц в файлы PDF мы будем использовать Aspose.PDF for Python. Это мощная библиотека Python с множеством функций для обработки и обработки PDF. Вы можете установить Aspose.PDF for Python, используя следующую команду pip.

pip install aspose-pdf

Извлечь таблицу из PDF в Python

Ниже приведены шаги для извлечения данных из таблиц в PDF с помощью Python.

  • Загрузите файл PDF с помощью класса Document.
  • Получить ссылку на страницу в PDF, где находится таблица.
  • Инициализируйте объект TableAbsorber и посетите выбранную страницу, используя метод TableAbsorber.visit(Page).
  • В цикле выполните итерацию по списку таблиц в коллекции TableAbsorber.tablelist.
  • Для каждой таблицы выполните итерацию по коллекции строк в AbsorbedTable.rowlist.
  • Для каждой поглощенной строки выполните итерацию по коллекции ячеек в AbsorbedRow.celllist.
  • Наконец, прокрутите коллекцию textfragments каждой поглощенной ячейки и напечатайте текст.

В следующем примере кода показано, как извлечь текст из таблицы PDF в Python.

import aspose.pdf as pdf

# Загрузить PDF-файл
pdfDocument = pdf.Document("input.pdf")

# Инициализировать объект TableAbsorber
tableAbsorber =  pdf.text.TableAbsorber()

# Разобрать все таблицы на первой странице
tableAbsorber.visit(pdfDocument.pages[1])

# Получить ссылку на первую таблицу
absorbedTable = tableAbsorber.table_list[0]

# Перебрать все строки в таблице
for pdfTableRow in absorbedTable.row_list:
    
    # Перебрать все столбцы в строке
   for pdfTableCell in pdfTableRow.cell_list:
        
        # Получить фрагменты текста
        textFragmentCollection = pdfTableCell.text_fragments
        
        # Итерация по фрагментам текста
       for textFragment in textFragmentCollection:
            
            # Распечатать текст
            print(textFragment.text)
            

Онлайн-инструмент для извлечения таблиц PDF

Вы также можете попробовать наш бесплатный онлайн-инструмент извлечение таблиц PDF для извлечения таблиц из файлов PDF, который основан на Aspose.PDF for Python.

Используйте библиотеку Python PDF бесплатно

Вы можете получить бесплатную временную лицензию и извлекать данные из таблиц в файлы PDF без каких-либо ограничений.

Изучите библиотеку Python PDF

Вы можете узнать больше о библиотеке Python PDF, используя документацию. Кроме того, вы можете размещать свои вопросы на нашем форуме.

Заключение

В этой статье вы узнали, как извлекать данные из таблиц в PDF с помощью Python. Вы можете использовать один и тот же код с небольшими изменениями для извлечения таблиц со всех страниц PDF-файла. Точно так же вы можете извлекать данные из всех таблиц или из конкретной таблицы на странице. Просто установите Aspose.PDF for Python в свое приложение и испытайте быстрый и простой способ извлечения табличных данных из PDF-файлов.

Смотрите также