我想将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/

10-12 02:34