我想将 pdf 文档中的表格转换为文本。我找到了以下将 pdf 转换为文本的代码。但是,当它转换时,它不会将数据保留在正确的行中。它将所有内容放在一长串字符串中。使用 Python 从 PDF 转换为文本时,有什么方法可以保留表格中的行吗?
from pdfminer.pdfparser import PDFDocument, PDFParser
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter, process_pdf
from pdfminer.pdfdevice import PDFDevice, TagExtractor
from pdfminer.converter import XMLConverter, HTMLConverter, TextConverter
from pdfminer.cmapdb import CMapDB
from pdfminer.layout import LAParams
from cStringIO import StringIO
def convert_pdf(path):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
fp = file(path, 'rb')
process_pdf(rsrcmgr, device, fp)
fp.close()
device.close()
str = retstr.getvalue()
retstr.close()
return str
请您参考如下方法:
Pdfminer 自带文本提取工具 pdf2txt.py ,它具有分析布局的能力。您可以尝试使用它,或研究它以了解其工作原理。
