图片,PDF转换成文字小工具
本想实现微信小程序“传图识字”的功能,后面又添加了pdf文件转文字。
知识点
- 百度OCR文字识别
from aip import AipOcr
APP_ID = ''
API_KEY = ''
SECRET_KEY = ''
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
""" 读取图片 """
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
image = get_file_content(r'D:\Python\study\image\d2.png')
""" 调用通用文字识别, 图片参数为本地图片 """
content = client.basicGeneral(image)['words_result']
# print(len(content))
for co in content:
print(co['words'])
# """ 如果有可选参数 """
# options = {}
# options["language_type"] = "CHN_ENG"
# options["detect_direction"] = "true"
# options["detect_language"] = "true"
# options["probability"] = "true"
- PDF 逐页转换成图片
import fitz
import glob
def read_pdf(filename):
pdffile = glob.glob(filename)[0]
doc = fitz.open(pdffile)
for pg in range(0, doc.pageCount):
page = doc[pg]
zoom = int(100) # 改为1000,图片清晰度会更高
rotate = int(0)
trans = fitz.Matrix(zoom / 100.0, zoom / 100.0).preRotate(rotate)
pm = page.getPixmap(matrix=trans,alpha=True) # True 改为 0
pm.writePNG(r'D:\Python\study\image\%s.png' % str(pg+1))
read_pdf(r'demo.pdf')
-
TK 控件及布局
视频教程
python-tkinter使用方法
python之tkinter使用-消息弹框 -
复制到系统剪贴板
安装pyperclip模块 pip intall pyerclip
pyperclip.copy(text) 把text字符串中的字符复制到剪切板
text = pyperclip.paste() 把剪切板上的字符串复制到text
- 将py文件打包成 exe
切换到py文件目录
pyinstall -F -i KEY.ico tkinterTest.py -w
-w :关闭DOC控制台
-i : 替换exe图标
- 小工具截图
小工具源码
from tkinter import *
import tkinter.filedialog
import datetime
from tkinter import messagebox
import filetype
import os
from aip import AipOcr
import fitz
import glob
from pathlib import Path
import time
import pyperclip
def copy():
'''
实现复制按钮功能,复制到剪贴板
:return:
'''
pyperclip.copy(text.get('0.0', 'end'))
def filepath():
'''
实现选择文件或目录按钮功能,选择图片或PDF弹出选择文件选择框,
选择批量图片,弹出选择目录框
:return:
'''
if r.get()==1 or r.get() == 2 :
filename = tkinter.filedialog.askopenfilename()
if filename != '':
e.set(filename)
else:
e.set("")
else:
filename = tkinter.filedialog.askdirectory()
if filename != '