PDFファイルを処理pdfminerバッチ

インポートPDFParser PDFDocument、からpdfminer.pdfparser 
pdfminer.pdfinterpインポートPDFResourceManager、PDFPageInterpreter、PDFTextExtractionNotAllowedから
pdfminer.converterインポートPDFPageAggregatorから
インポートLTTextBoxHorizo​​ntal pdfminer.layoutから、LAParams、LTTextLineHorizo​​ntal、LTFigure、LTRect、LTLine、LTCurve 
インポートOSの


クラスPdfForString(オブジェクト):
    __init __ DEF(セルフ):
        self.pdf_list = os.listdir(r'E:\証券取引所\ PDF「)#GETすべてのPDF PDFのフォルダ名
        #ドキュメントストレージリソース
        self.src = PDFResourceManager()
        デバイスオブジェクト
        self.device PDFPageAggregator =(self.src、laparams = LAParams())インタプリタオブジェクト
        self.inter = PDFPageInterpreter(self.src、self.device) 
生成PDF路径
    デフfor_string(自己):
        self.pdf_listでPDFのために:
            pdf_path = os.path.join(os.path.dirname(os.path.dirname (__FILE__))+ '/ PDF'、PDF)
            収率pdf_path 

    #解析PDF 
    DEF pdf_analysis(自己):
        パスのself.for_stringで():
            pd_file =オープン(パス、 'RB')
            パーサ= PDFParser(pd_file)#1 PDF文件解析对象

            #PDF文档对象
            ドキュメント= PDFDocument()
            parser.set_document(文書)
            document.set_parser(パーサ)
            ページ= document.get_pages()
            降伏ページ

    #获取PDF信息 
    デフ(自己)get_string:
        :self.pdf_analysisのページ()のための
            ページで、ページの:
                self.inter.process_page(ページ)
                レイアウト= self.device.get_result()
                xのレイアウトで:
                    もしでisinstance(X、LTTextBoxHorizo​​ntal):
                        プリント( STR(x.get_text())) ブレーク


PdfForString()。get_string()

  

おすすめ

転載: www.cnblogs.com/wangtaobiu/p/11947133.html