利用python将图片版PDF转文字版PDF

时间:2021-05-22

图片版PDF无法复制,转化成文字版的PDF后使用更方便.

我们需要用到python3.6,pypdf2,ghostscript,PythonMagick,百度文字识别服务和pdfkit.

安装

安装python3.6 略

安装ghostscript

https://ghostscript.com/download/gsdnld.html

安装wkhtmltopdf

https://wkhtmltopdf.org/downloads.html

pip安装PyPDF2,ghostscript,baidu-aip,pdfkit

pip install PyPDF2pip install ghostscriptpip install baidu-aippip install pdfkit

pip安装PythonMagick

https:///#/index/overview#产品服务->人工智能->文字识别->创建应用#获取以下三个值APP_ID = '??'API_KEY = '??'SECRET_KEY = '?? '#pdfkit安装位置设置path_wk = r'pdfkit安装位置设置'pdfkit_config = pdfkit.configuration(wkhtmltopdf = path_wk)#pdfkit参数pdfkit_options = {'encoding': 'UTF-8',}#PDF转化为图片os.chdir(path)pdf_input = PdfFileReader(open(pdfname, 'rb'))#自动获取PDF页数page_count = pdf_input.getNumPages()page_range=range(page_count)#也可以手工指定PDF需要转换的页数#page_range=range(0,100)#使用PyPDF和ghostscript#==超级好用,超级直观,超级短==for page_num in page_range: im = Image() im.density(DPI) im.read(pdfname + '[' + str(page_num) +']') im.write(str(page_num)+ '.jpg')#图片转化为字符串#新建一个AipOcrclient = AipOcr(APP_ID, API_KEY, SECRET_KEY)#读取本地图片的函数def get_file_content(filePath): with open(filePath, 'rb') as fp: return fp.read()#可选参数options = {}options["language_type"] = "CHN_ENG"options["detect_direction"] = "false"options["detect_language"] = "false"options["probability"] = "false"allteststr=[]for page_num in page_range: #读取本地图片 image = get_file_content(r'%s\%s.jpg' % (path,page_num)) #通用文字识别,得到的是一个dict testjson=client.basicGeneral(image, options) teststr='' for x in testjson['words_result']: teststr=teststr+x['words']+'</br>' allteststr.append(teststr)#字符串写入PDFfor page_num in page_range: pdfkit.from_string((allteststr[page_num]),'%s.pdf' % (str(page_num)),configuration=pdfkit_config,options=pdfkit_options)#合并单页PDFpdf_output = PdfFileWriter()for page_num in page_range: os.chdir(path) pdf_input = PdfFileReader(open('%s.pdf' % (str(page_num)), 'rb')) page = pdf_input.getPage(0) pdf_output.addPage(page)pdf_output.write(open('newpdf.pdf','wb'))

以上就是为大家介绍的如何使用python3.6,pypdf2,ghostscript,PythonMagick,百度文字识别服务和pdfkit

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章