我有成千上万的PDF文件,例如this one。
我正在尝试使用PyPDF2将它们转换为纯文本(代码如下)。但PyPDF2显然只是“看到”水印,而不是内容本身。我能在这做什么?
days.Text = days(DateTime.Now);
我在macOS 10.13.14上使用Python 3.5.1和PyPDF2 1.26.0。
答案 0 :(得分:0)
有时pdfminer3k会带来更好的结果。请签出“ How to read pdf file using pdfminer3k?”
我已经测试了以下代码,并且提取了文本。但是,提取结果并非100%准确...
# Open the example file
fp = open('Decisao_10166720039201098.pdf', 'rb')
from pdfminer.pdfparser import PDFParser, PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LAParams, LTTextBox, LTTextLine
parser = PDFParser(fp)
doc = PDFDocument()
parser.set_document(doc)
doc.set_parser(parser)
doc.initialize('')
rsrcmgr = PDFResourceManager()
laparams = LAParams()
laparams.char_margin = 1.0
laparams.word_margin = 1.0
device = PDFPageAggregator(rsrcmgr, laparams=laparams)
interpreter = PDFPageInterpreter(rsrcmgr, device)
extracted_text = ''
for page in doc.get_pages():
interpreter.process_page(page)
layout = device.get_result()
for lt_obj in layout:
if isinstance(lt_obj, LTTextBox) or isinstance(lt_obj, LTTextLine):
extracted_text += lt_obj.get_text()
print(extracted_text)