我在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
答案 0 :(得分:1)
Pdfminer附带了一个名为pdf2txt.py的文本提取工具,它可以分析布局。您可以尝试使用它,或研究它以了解它是如何工作的。
答案 1 :(得分:0)
A-PDF to Text使用表格转换更好的PDF作为其他工具!