从.pdf中提取粗体和带下划线的文本

时间:2019-01-17 12:13:52

标签: python stanford-nlp

我需要从pdf中提取文本。但是pdf包含一些粗体和带下划线的文本。我尝试使用MyPDF2,但在尝试读取包含格式化文本的pdf时出错。

    import PyPDF2
    pdf_file = open('Downloads/th.pdf','rb')
    read_pdf = PyPDF2.PdfFileReader(pdf_file)
    number_of_pages = read_pdf.getNumPages()
    page = read_pdf.getPage(0)
    page_content = page.extractText()
    print (page_content)

输出

    ˘ˇˆˆ˝˛˚˜ ˜˚!˘˘ˇˆ˙˛˝˚˜˚ !ˆ"#$ˆ%&'˛"˝#$%˝˚'(˚˛)˛˝*+!-.$ˆ˚˛˚˛˘/˛˛0˛122/ 
    ˘˛˘˚˘˚2ˆ$".#$ˆ%˘˛˛$ˆ$%#$ˆ%˛˛˛˛˝˝(0/ 0$%˙˚˙3#"$˘--4˛0˚! 
    ˆ"#$ˆ%56272˛ˇ5'˛6222˛'4˘8(9˛(˜˚˛&˙˙˙˙˙

1 个答案:

答案 0 :(得分:1)

我正在使用Python 3.6和PyPDF2模式:

  1. Get and install Python 3
  2. 使用PIP安装PyPDF2模块。在终端中运行(或在Windows中运行CMD / PowerShell):pip install PyPDF2
  3. tutorial一样,在python控制台中运行以下代码,以读取PDF文件并提取文本:

    import PyPDF2        
    pdfFileObj = open('meetingminutes.pdf', 'rb')        
    pdfReader = PyPDF2.PdfFileReader(pdfFileObj)        
    pageObj = pdfReader.getPage(0)        
    pageObj.extractText()