# -*- coding: utf-8 -*-
import sys
#reload(sys)
#sys.setdefaultencoding('utf-8')
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, PDFPageInterpreter
from pdfminer.pdfdevice import PDFDevice
from pdfminer.layout import LAParams
from pdfminer.converter import PDFPageAggregator
import codecs
import os
def pdf_to_txt(pdf_file_path, writer):
assert pdf_file_path.endswith('.pdf')
fp=open(pdf_file_path,"rb")
#創建一個與文檔相關聯的解釋器
parser=PDFParser(fp)
#PDF文檔對象
doc=PDFDocument(parser)
#鏈接解釋器和文檔對象
parser.set_document(doc)
#doc.set_paeser(parser)
#初始化文檔
#doc.initialize("")
#創建PDF資源管理器
resource=PDFResourceManager()
#參數分析器
laparam=LAParams()
#創建一個聚合器
device=PDFPageAggregator(resource,laparams=laparam)
#創建PDF頁面解釋器
interpreter=PDFPageInterpreter(resource,device)
#使用文檔對象得到頁面集合
for page in PDFPage.create_pages(doc):
#使用頁面解釋器來讀取
interpreter.process_page(page)
#使用聚合器來獲取內容
layout=device.get_result()