本文整理匯總了Python中pdfminer.pdfparser.PDFDocument方法的典型用法代碼示例。如果您正苦於以下問題:Python pdfparser.PDFDocument方法的具體用法?Python pdfparser.PDFDocument怎麽用?Python pdfparser.PDFDocument使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類pdfminer.pdfparser
的用法示例。
在下文中一共展示了pdfparser.PDFDocument方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: convert_pdf_to_txt
# 需要導入模塊: from pdfminer import pdfparser [as 別名]
# 或者: from pdfminer.pdfparser import PDFDocument [as 別名]
def convert_pdf_to_txt(path):
fp = open(path, 'rb')
txt = ''
parser = PDFParser(fp)
doc = PDFDocument()
parser.set_document(doc)
doc.set_parser(parser)
doc.initialize('')
rsrcmgr = PDFResourceManager()
laparams = LAParams()
device = PDFPageAggregator(rsrcmgr, laparams=laparams)
interpreter = PDFPageInterpreter(rsrcmgr, device)
# Process each page contained in the document.
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):
txt += lt_obj.get_text()
return(txt)
示例2: getData
# 需要導入模塊: from pdfminer import pdfparser [as 別名]
# 或者: from pdfminer.pdfparser import PDFDocument [as 別名]
def getData(self):
doc = PDFDocument()
fp = file(self.fname, 'rb')
parser = PDFParser(fp)
try:
parser.set_document(doc)
doc.set_parser(parser)
doc.initialize(self.password)
except:
return "error"
parser.close()
fp.close()
#try:
# metadata = resolve1(doc.catalog['Metadata'])
# return "ok"
#except:
# print "[x] Error in PDF extractor, Metadata catalog"
try:
for xref in doc.xrefs:
info_ref=xref.trailer.get('Info')
if info_ref:
info=resolve1(info_ref)
self.metadata=info
self.raw = info
if self.raw == None:
return "Empty metadata"
else:
return "ok"
except Exception,e:
return e
print "\t [x] Error in PDF extractor, Trailer Info"
示例3: parse
# 需要導入模塊: from pdfminer import pdfparser [as 別名]
# 或者: from pdfminer.pdfparser import PDFDocument [as 別名]
def parse():
fp = open(path, 'rb') # 以二進製讀模式打開
#用文件對象來創建一個pdf文檔分析器
praser = PDFParser(fp)
# 創建一個PDF文檔
doc = PDFDocument()
# 連接分析器 與文檔對象
praser.set_document(doc)
doc.set_parser(praser)
# 提供初始化密碼
# 如果沒有密碼 就創建一個空的字符串
doc.initialize()
# 檢測文檔是否提供txt轉換,不提供就忽略
if not doc.is_extractable:
raise PDFTextExtractionNotAllowed
else:
# 創建PDf 資源管理器 來管理共享資源
rsrcmgr = PDFResourceManager()
# 創建一個PDF設備對象
laparams = LAParams()
device = PDFPageAggregator(rsrcmgr, laparams=laparams)
# 創建一個PDF解釋器對象
interpreter = PDFPageInterpreter(rsrcmgr, device)
# 循環遍曆列表,每次處理一個page的內容
for page in doc.get_pages(): # doc.get_pages() 獲取page列表
interpreter.process_page(page)
# 接受該頁麵的LTPage對象
layout = device.get_result()
# 這裏layout是一個LTPage對象 裏麵存放著 這個page解析出的各種對象 一般包括LTTextBox, LTFigure, LTImage, LTTextBoxHorizontal 等等 想要獲取文本就獲得對象的text屬性,
for x in layout:
if (isinstance(x, LTTextBoxHorizontal)):
with open(r'out.txt', 'a') as f:
results = x.get_text()
print(results)
f.write(results + '\n')