【发布时间】:2018-06-03 12:47:54
【问题描述】:
嗨,我使用一种典型的方式从 pdf 中解析 txt。 问题是每个页面都有页眉页脚等,而不是我不想在文本文件输出中写入。 有没有办法排除例如每页的前 3 行(我知道标题有多少行)
我的代码在这里:
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfpage import PDFTextExtractionNotAllowed
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.pdfdevice import PDFDevice
from pdfminer.converter import TextConverter
from io import StringIO
import os
import re
def F_update(pdf_paths,number_upd,dir):
base_path = dir
for i in pdf_paths:
my_file = i
log_file = "C:\\Users\\vagos\\Desktop\\trelovagos\\text\\databases\\testnewafrica.txt"
file2 = open("C:\\Users\\vagos\\Desktop\\trelovagos\\text\\databases\\testnewafrica.txt" ,mode = 'w+',buffering = 1 ,encoding ='utf-8')
rsrcmgr = PDFResourceManager()
retstr = StringIO()
codec = 'ascii'
laparams = LAParams(char_margin = 35,word_margin = 2 ,line_margin = 0.3 ,all_texts = True)#detect_vertical = True)
device = TextConverter(rsrcmgr, retstr, codec=codec , laparams=laparams)
fp = open(i, 'rb')
interpreter = PDFPageInterpreter(rsrcmgr, device)
password = ""
caching = True
pagenos=set()
for PageNumer,page in enumerate(PDFPage.get_pages(fp, pagenos , password=password,caching=caching, check_extractable=True)):
interpreter.process_page(page)
text = retstr.getvalue()
file2.write(text)
file2.close()
fp.close()
device.close()
retstr.close()
【问题讨论】:
标签: python python-3.x python-2.7 pdfminer