python pdf一鍵翻譯指令碼

2021-09-10 07:51:07 字數 2291 閱讀 7132

安裝第三方庫

pip install pdfminer3k
詳細**

import hashlib

import random

import urllib.parse

import requests

from concurrent import futures

from io import stringio

from pdfminer.pdfinterp import pdfresourcemanager

from pdfminer.pdfinterp import process_pdf

from pdfminer.converter import textconverter

from pdfminer.layout import laparams

def read_from_pdf(file_path):

'''解析pdf檔案

'''with open(file_path, 'rb') as file:

resource_manager = pdfresourcemanager()

return_str = stringio()

lap_params = laparams()

device = textconverter(

resource_manager, return_str, laparams=lap_params)

process_pdf(resource_manager, device, file)

device.close()

content = return_str.getvalue()

return_str.close()

return content

'''製造簽名

'''md5 = hashlib.md5()

md5.update(sign.encode('utf-8'))

return md5.hexdigest()

def create_url(q, url):

'''根據引數構造query字典

'''fro = 'auto'

to = 'zh'

salt = random.randint(32768, 65536)

return url

def translate(q):

url = ''

url = create_url(q, url)

r = requests.get(url)

txt = r.json()

if txt.get('trans_result', -1) == -1:

print('程式已經出錯,請檢視報錯資訊:\n{}'.format(txt))

return '這一部分翻譯錯誤\n'

return txt['trans_result'][0]['dst']

def clean_data(data):

'''將輸入的data返回成為段落組成的列表

'''data = data.replace('\n\n', '閒談後')

data = data.replace('\n', ' ')

return data.split('閒談後')

def _main(pdf_path, txt_path):

# try:

data = read_from_pdf(pdf_path)

data_list = clean_data(data)

with futures.threadpoolexecutor(20) as excuter:

zh_txt = excuter.map(translate, data_list)

# zh_txt = [translate(txt) for txt in data_list]

zh_txt = list(zh_txt)

article = '\n\n'.join(zh_txt)

print(article)

with open(txt_path, 'w', encoding='utf-8') as f:

f.write(article)

# except exception:

# return -1

if __name__ == '__main__':

key ='***' #填入你的 key ,為str型別

_main('1.pdf', '1.txt') #填入 pdf 路徑與翻譯完畢之後的 txt 路徑

Trojan一鍵指令碼

ubuntu debian 系統安裝 curl 方法 apt get update y apt get install curl y centos 系統安裝 curl 方法 yum update y yum install curl y 安裝好 curl 之後就能安裝指令碼了 curl o chmo...

apache一鍵安裝指令碼

最近在玩apache,首先安裝apace要配置apr,apr util,pcre,而配置這些基本都是千篇一律。所謂程式設計師的精神就是減少重複性的勞動,下面請看我寫的apache安裝指令碼 這個指令碼我也放到我的github上 bin bash 需要sudo執行 dir pwd 要安裝pcre先要安...

nagios一鍵安裝指令碼

nagios具有非常強大的報警功能。還可以結合pnp實現時時繪製圖形。可以根據自己的需求定義 nagios的腳控型別,可以說監控服務,nagios已經做到了無所不能 下面給出nagios的安裝腳步。後期會慢慢更新如何編寫腳步定義企業nagios監控系統 腳步的安裝包是已經放到 usr local s...