1.要将pdf转为txt主要使用的库为pdfminer.six,所以第一步安装该库

pip3 install pdfminer.six

2.该库提供命令行命令pdf2txt.py可以实现pdf转为txt,成功安装库后,pdf2txt.py位于python根目录下的Scripts目录下,具体的使用命令:

python pdf2txt.py  pdf文件1   pdf文件2

注意:命令右端可以跟一个pdf文件名或者多个pdf文件名,同时处理;该命令会将转化后的文本内容输出到终端,如果要输出到某个txt文件,可以采用重定向符,具体命令如下:

python pdf2txt.py  pdf文件1  >  test.txt

文本内容就会转存到文件test.txt中。

3.该库也提供api接口,供代码中使用,实现对pdf文件的txt转化,具体的示例代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from io import StringIO
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfparser import PDFParser

def extra_text(filename):
   output_string = StringIO()
   with open(filename, 'rb') as in_file:
       parser = PDFParser(in_file)
       doc = PDFDocument(parser)
       rsrcmgr = PDFResourceManager()
       device = TextConverter(rsrcmgr, output_string, laparams=LAParams())
       interpreter = PDFPageInterpreter(rsrcmgr, device)
       for page in PDFPage.create_pages(doc):
            interpreter.process_page(page)
   print(output_string.getvalue())

if __name__=="__main__":
       filename="./test.pdf"
       extra\_text(filename)