В этом кратком руководстве описывается процесс чтения таблицы PDF в Python. В нем представлена вся основная информация по настройке среды разработки, последовательность шагов для написания приложения и исполняемый пример кода для извлечения таблицы из PDF на Python. Вы получите руководство по доступу к каждой ячейке таблицы, а затем получите все данные в ней.
Шаги по извлечению данных таблицы из PDF с помощью Python
- Установите среду использовать Aspose.PDF для Python через .NET для чтения таблиц.
- Загрузите исходный PDF-файл, используя класс Document с таблицей
- Создайте экземпляр объекта класса TableAbsorber для чтения таблиц из загруженного файла PDF.
- Выберите страницу и проанализируйте все таблицы в ней
- Получите доступ к первой таблице и проанализируйте строки и столбцы, чтобы получить все экземпляры TextFragment в ячейке.
- Проанализируйте все фрагменты текста и отобразите текст в каждом фрагменте.
Эти шаги объясняют процесс чтения таблицы PDF в Python. Процесс начинается с загрузки файла PDF и последующего создания объекта TableAbsorber, имеющего методы для чтения таблиц из файла PDF. После того, как все таблицы проанализированы на определенной странице, из коллекции осуществляется доступ к первой таблице, а затем анализируется каждая строка и столбец, чтобы получить в ней набор текстовых фрагментов для выборки данных.
Код для извлечения таблицы из PDF с использованием Python
import aspose.pdf as pdf | |
# Load the license | |
license = pdf.License() | |
license.set_license("Aspose.Total.lic") | |
# Load source PDF | |
pdfDocument = pdf.Document("PdfWithTable.pdf") | |
# Declare and initialize TableAbsorber object | |
tableAbsorber = pdf.text.TableAbsorber() | |
# Parse all the tables | |
tableAbsorber.visit(pdfDocument.pages[1]) | |
# Get a reference to the first table | |
absorbedTable = tableAbsorber.table_list[0] | |
# Iterate through all the rows | |
for pdfTableRow in absorbedTable.row_list: | |
# Iterate through all the columns | |
for pdfTableCell in pdfTableRow.cell_list: | |
# Fetch the text fragments | |
textFragmentCollection = pdfTableCell.text_fragments | |
# Iterate through the text fragments | |
for textFragment in textFragmentCollection: | |
# Display the text | |
print(textFragment.text) | |
print("Data read successfully from the table") |
В приведенном выше коде показано, как с помощью python читать таблицу PDF и извлекать ее данные для обработки. Когда мы вызываем метод visit() в классе TableAbsorber, он заполняет массив table_list, который используется для доступа к отдельным таблицам. Каждая таблица в коллекции таблиц имеет свойство row_list, у которого есть свойство cell_list, обеспечивающее доступ к коллекции столбцов, и, наконец, вы получаете свойство text_fragments, чтобы получить набор данных в конкретной ячейке.
Эта статья научила нас тому, что для извлечения таблицы из PDF можно легко использовать Python. Если вы хотите узнать, как читать закладки в PDF, обратитесь к статье как читать закладки в PDF с помощью Python.