Я ищу решение для извлечения текста и таблиц из файла PDF. Хотя некоторые пакеты хороши для извлечения текста, они недостаточно хороши для извлечения таблиц.
Одним из решений может быть использование модели макета Распознаватель форм Azure, но это терпит неудачу, когда у нас есть сочетание текста и таблицы, в частности, когда таблицы имеют текстовый формат и смешивают содержимое таблиц и текста (см. Код Распознавателя форм Azure). https://github.com/Azure-Samples/cognit ... extract.md).
Я также пробовал pypdf2 и pdfplumber; вот код для pypdf2:
import PyPDF2
data_path = "directory/to/pdf/files"
texts = []
for fp in os.listdir(data_path):
pdfFileObj = open(os.path.join(data_path, fp), 'rb')
print(pdfFileObj)
#
pdfreader=PyPDF2.PdfFileReader(pdfFileObj)
#
count=pdfreader.numPages
#
text = " "
for i in range(count):
page = pdfreader.getPage(i)
text += page.extractText()
texts.extend([text])
Во-первых, pypdf2 неплохо работает для некоторых PDF-файлов, но он дает сбой и не сохраняет пробелы между словами для некоторых PDF-файлов, например (pdf-файл от https://www.researchgate.net/publicatio ... _Anaанализ):
Во-вторых, как я могу извлечь таблицы, если они существуют на странице? pdfplumber может извлекать как текст, так и таблицы, используя методы Extract_text() и Extract_table(). В некоторых документах не удается сохранить пробелы между словами. Это также не удается, когда у нас есть PDF-файлы с двумя столбцами, как это было ранее.
Tabula — еще одна альтернатива, но она хороша для таблиц, как я вижу на их веб-сайте. https://github.com/tabulapdf/tabula. Мой конечный вопрос заключается в том, как лучше всего извлекать содержимое, текст и таблицы из PDF-файлов с использованием страниц с одним или двумя столбцами.
Я ищу решение для извлечения текста и таблиц из файла PDF. Хотя некоторые пакеты хороши для извлечения текста, они недостаточно хороши для извлечения таблиц. [list] [*]Одним из решений может быть использование модели макета Распознаватель форм Azure, но это терпит неудачу, когда у нас есть сочетание текста и таблицы, в частности, когда таблицы имеют текстовый формат и смешивают содержимое таблиц и текста (см. Код Распознавателя форм Azure). https://github.com/Azure-Samples/cognitive-services-quickstart-code/blob/master/python/FormRecouncer/rest/python-train-extract.md).
Я также пробовал pypdf2 и pdfplumber; вот код для pypdf2: [code]import PyPDF2 data_path = "directory/to/pdf/files" texts = []
for fp in os.listdir(data_path): pdfFileObj = open(os.path.join(data_path, fp), 'rb') print(pdfFileObj) # pdfreader=PyPDF2.PdfFileReader(pdfFileObj) # count=pdfreader.numPages # text = " " for i in range(count): page = pdfreader.getPage(i) text += page.extractText()
texts.extend([text]) [/code]
[*]Во-первых, pypdf2 неплохо работает для некоторых PDF-файлов, но он дает сбой и не сохраняет пробелы между словами для некоторых PDF-файлов, например (pdf-файл от https://www.researchgate.net/publication/342920307_Using_Topic_Modeling_Methods_for_Short-Text_Data_A_Comparative_Anaанализ):
[list] [*]Во-вторых, как я могу извлечь таблицы, если они существуют на странице? pdfplumber может извлекать как текст, так и таблицы, используя методы Extract_text() и Extract_table(). В некоторых документах не удается сохранить пробелы между словами. Это также не удается, когда у нас есть PDF-файлы с двумя столбцами, как это было ранее.
[*]Tabula — еще одна альтернатива, но она хороша для таблиц, как я вижу на их веб-сайте. https://github.com/tabulapdf/tabula. Мой конечный вопрос заключается в том, как лучше всего извлекать содержимое, текст и таблицы из PDF-файлов с использованием страниц с одним или двумя столбцами.