Извлечение текста и метаданных из PDF-файлов и документов

#javascript #python

#javascript #python

Вопрос:

Я создаю средство проверки на плагиат в качестве побочного проекта. Мне интересно узнать о подходах к извлечению текста и связанных с ним метаданных из документов, such as bold text or big titles .

Я буду использовать либо python, либо javascript, с фреймворками на каждом языке.

Я планирую поддерживать документы PDF и ms Word.

Итак, как я могу извлечь необходимые данные из документов ?.

Ответ №1:

Я помню, что есть библиотека для чтения слова в файле doc, вы можете использовать python-docx2txt, чтобы извлечь слово в документе. вы можете использовать это в своем терминале для установки библиотеки: pip install docx2txt

 import docx2txt
readText = doc2txt.process("your_file_name")
print(readText)
  

мало того, если вы хотите отредактировать, например, добавить новый абзац или добавить новую таблицу в файл word, с помощью программы вы можете установить библиотеку python-docx для использования функций … о PDF ermmm не в моем исследовании alr …. но я думаю, вы можете попробовать ипроверьте это https://github.com/euske/pdfminer возможно, это даст вам некоторую идею: D

Комментарии:

1. Спасибо, python-docx обладает возможностями для извлечения заголовков, и я думаю, что он также содержит операции, специфичные для шрифта.

Ответ №2:

Существует несколько модулей / пакетов для получения метаданных из PDF

*** PDF MINER ***

  1. PDFMiner — это инструмент для извлечения текста из PDF-документов.

  2. Чистый Python (3.6 или выше).

     def extract_text_from_pdf(pdf_path):
        from pdfminer.converter              import TextConverter
        from pdfminer.pdfinterp              import PDFPageInterpreter
        from pdfminer.pdfinterp              import PDFResourceManager
        from pdfminer.pdfpage                import PDFPage
        import io,os,re
        import gc
        resource_manager = PDFResourceManager()
        fake_file_handle = io.StringIO()
        converter = TextConverter(resource_manager, fake_file_handle)
        page_interpreter = PDFPageInterpreter(resource_manager, converter)
        with open(pdf_path, 'rb') as fh:
            for page in PDFPage.get_pages(fh, caching=True,check_extractable=True):
                page_interpreter.process_page(page)
            text = fake_file_handle.getvalue()
        converter.close()
        fake_file_handle.close()
        if text:
            return text
    
    extract_text_from_pdf("abc/xyz.pdf")
      

Использование docx2txt для получения метаданных из docx

*** DOCX2TXT ***

  1. python-docx — это библиотека Python для создания и обновления файлов Microsoft Word (.docx).

  2. Утилита на основе python для извлечения текста из файлов docx.

     import docx2txt
    
    # extract text
    text = docx2txt.process("file.docx")