我想将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的文本提取工具,该工具具有分析布局的功能。您可以尝试使用它,或研究它以了解其工作原理。
关于python - 将PDF转换为文本-保留表格行-Python,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9603559/