<del id="d4fwx"><form id="d4fwx"></form></del>
      <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

            <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
          • python如何提取英語pdf內(nèi)容并翻譯-創(chuàng)新互聯(lián)

            本文實(shí)例為大家分享了python提取英語pdf內(nèi)容并翻譯的具體代碼,供大家參考,具體內(nèi)容如下

            我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、丹東ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的丹東網(wǎng)站制作公司

            前期準(zhǔn)備工作:

            翻譯接口: 調(diào)用的是百度翻譯的api (注冊后,每個月有2百萬的免費(fèi)翻譯字符數(shù)。)

            pdfminer3k: pdfminer3k是pdfminer的Python 3端口。 PDFMiner是一種從PDF文檔中提取信息的工具。 與其他PDF相關(guān)工具不同,它完全專注于獲取和分析文本數(shù)據(jù)。 PDFMiner允許獲取頁面中文本的確切位置,以及字體或線條等其他信息。 它包括一個PDF轉(zhuǎn)換器,可以將PDF文件轉(zhuǎn)換為其他文本格式(如HTML)。 它有一個可擴(kuò)展的PDF解析器,可用于其他目的而不是文本分析。

            要解析PDF至少需要兩個類:PDFParser PDFDocument,PDFParser 從文件中提取數(shù)據(jù),PDFDocument保存數(shù)據(jù)。另外還需要PDFPageInterpreter去處理頁面內(nèi)容,PDFDevice將其轉(zhuǎn)換為我們所需要的。PDFResourceManager用于保存共享內(nèi)容例如字體或圖片。

            安裝:pip install pdfminer3k

            前期工作準(zhǔn)備好后,即可開始代碼編寫。

            # -*- coding: utf-8 -*-
            import sys
            import io
            
            """
            Created on Sun Mar 3 12:22:49 2019
            
            @author: Ben
            """
            
            import importlib
            importlib.reload(sys)
            
            from pdfminer.pdfparser import PDFParser,PDFDocument
            from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
            from pdfminer.converter import PDFPageAggregator
            from pdfminer.layout import LTTextBoxHorizontal,LAParams
            from pdfminer.pdfinterp import PDFTextExtractionNotAllowed
            
            #from PyPDF2.pdf import PdfFileReader, PdfFileWriter, ContentStream
            
            
            import requests
            import string
            import time
            import hashlib
            import json
            
            
            ##初始化
            
            api_url = "http://api.fanyi.baidu.com/api/trans/vip/translate"
            api_id = "" ##申請的百度翻譯接口的id
            cyber = "" ##申請的百度翻譯接口的password
            
            pdffile = "multinet.pdf" ##處理的pdf
            ENtextfile = "ENmultinet.txt" ##存儲提取的txt
            CNtextfile = "CNmultinet.txt" ##存儲翻譯的結(jié)果
            isTranslate = False ##是否將提取的英文翻譯為中文
            ## 處理PDF
            ## 讀取PDF的內(nèi)容 filename是待處理的PDF的名字
            
            ###使用PDFminer讀取
            def getDataUsingPyPDF(filename):
             parser = PDFParser(open(pdffile,'rb')) #以二進(jìn)制打開文件 ,并創(chuàng)建一個pdf文檔分析器
             doc = PDFDocument() ##創(chuàng)建一個pdf文檔
             #將文檔對象和連接分析器連接起來
             parser.set_document(doc) 
             doc.set_parser(parser)
             doc.initialize()
             
             
             #判斷該pdf是否支持txt轉(zhuǎn)換
             
             if doc.is_extractable:
             #創(chuàng)建一個PDF設(shè)備對象
             rsrcmgr = PDFResourceManager()
             #創(chuàng)建一個pdf設(shè)備對象
             laparamas = LAParams()
             device = PDFPageAggregator(rsrcmgr, laparams=laparamas)
             #創(chuàng)建一個PDF解釋器對象
             interpreter = PDFPageInterpreter(rsrcmgr, device)
             contents = "" #保存讀取的text
             
             #依次讀取每個page的內(nèi)容
             
             for page in doc.get_pages():
             interpreter.process_page(page)
             layout = device.get_result() # 這里layout是一個LTPage對象 里面存放著 這個page解析出的各種對象 一般包括LTTextBox, LTFigure, LTImage, LTTextBoxHorizontal 等等 想要獲取文本就獲得對象的text屬性,
             #在windows下,新文件的默認(rèn)編碼是gbk編碼,所以我們在寫入文件的時候需要設(shè)置一個編碼格式,如下:
             for x in layout:
             if(isinstance(x,LTTextBoxHorizontal)):
              results = x.get_text()
              results = results.replace("\n","") #去掉換行符 因?yàn)榕虐鎲栴} 有的換行導(dǎo)致句子中斷
              contents += (results)
             ##為了看著舒服,每一句為一行
             saveText(contents.replace(".",".\n"),ENtextfile)
             return contents
            ## 將讀取的content以txt格式存放到本地
            def saveText(content,Textfile):
             with open(Textfile,"w",encoding='utf-8') as f:
             f.write(content)
            
            
            ## 翻譯從pdf提取的content
            def translate(content):
             salt = str(time.time())[:10]
             final_sign = str(api_id) + content + salt+ cyber
             final_sign = hashlib.md5(final_sign.encode("utf-8")).hexdigest()
             # from to 代表翻譯的語言 
             paramas = {
             'q':content,
             'from':'en',
             'to':'zh',
             'appid':'%s'%api_id,
             'salt':'%s'%salt,
             'sign':'%s'%final_sign 
             }
             my_url = api_url+'?appid='+str(api_id)+'&q='+content+'&from='+'zh'+'&to='+'en'+'&salt='+salt+'&sign='+final_sign
             response = requests.get(api_url,params = paramas).content
             content = str(response,encoding = "utf-8")
             json_reads = json.loads(content)
             return json_reads['trans_result'][0]['dst']+" " 
            ###
            
            content = getDataUsingPyPDF(pdffile)
            print("讀取pdf成功,將其保存為txt格式")
            
            if(isTranslate):
             clist = content.split(".") #split() 通過指定.將英文分成多個句子
             i = 0
             chinese = ""
             print("一共有"+str(clist.__len__())+"行需要翻譯")
             print("開始翻譯...請耐心等待")
            
             while(i<clist.__len__()):
             chinese += (translate(clist[i]).replace("\n","。"))
             #chinese += '\n'
             i+=1
             saveText(chinese,CNtextfile)
             print("翻譯結(jié)束,ok")

            另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

            本文題目:python如何提取英語pdf內(nèi)容并翻譯-創(chuàng)新互聯(lián)
            鏈接地址:http://www.jbt999.com/article44/dieche.html

            成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站微信公眾號域名注冊App開發(fā)網(wǎng)站收錄Google

            廣告

            聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

            營銷型網(wǎng)站建設(shè)

              <del id="d4fwx"><form id="d4fwx"></form></del>
              <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

                    <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
                  • 欧美成人性爱视频在线 | 蜜桃av在线 | 亚洲AV无码久久久久网站飞鱼 | 大香蕉75在线 | 圆产精品久久久久久久久久久新郎 |