当前位置: 首页 > news >正文

水滴保险官方网站惠州百度seo地址

水滴保险官方网站,惠州百度seo地址,杭州产品网络推广方案,安庆网站建设电话简介 该工具完成了如下功能: 1.将文字转换为手写体填入到模板文件中 2.自动将文字转换为盖章格式填入到模板文件中 3.字体格式可以替换 4.有配置文件进行扩展功能 功能模块 1.界面模块 import sys from PyQt5.QtWidgets import QApplication, QMessageBox, QWid…

简介

该工具完成了如下功能:
1.将文字转换为手写体填入到模板文件中
2.自动将文字转换为盖章格式填入到模板文件中
3.字体格式可以替换
4.有配置文件进行扩展功能

功能模块

1.界面模块

import sys
from PyQt5.QtWidgets import QApplication, QMessageBox, QWidget, QLabel, QComboBox, QLineEdit, QPushButton, QVBoxLayout
from source import get_stamp_png
from source import get_pic_by_font
from source import config_read
font_path = "./font/SIMYOU.TTF"
font_size = 25
save_path = "./output/"
save_stamp_path = "./output/stamp/"class TemplateGenerator(QWidget):def __init__(self):super().__init__()self.init_ui()def init_ui(self):self.setWindowTitle("模板盖章生成器V1.0")self.setGeometry(300, 300, 400, 200)layout = QVBoxLayout()# 选择框template_label = QLabel("选择模板:")self.template_combobox = QComboBox()self.template_combobox.addItem("口扫")self.template_combobox.addItem("转诊")layout.addWidget(template_label)layout.addWidget(self.template_combobox)#患者信息框patient_name_label = QLabel("患者姓名:")self.patient_name_edit = QLineEdit()patient_pid_label = QLabel("患者PID:")self.patient_pid_edit = QLineEdit()patient_scan_id_label = QLabel("患者口扫ID:")self.patient_scan_id_edit = QLineEdit()layout.addWidget(patient_name_label)layout.addWidget(self.patient_name_edit)layout.addWidget(patient_pid_label)layout.addWidget(self.patient_pid_edit)layout.addWidget(patient_scan_id_label)layout.addWidget(self.patient_scan_id_edit)# 转出输入框doctor_out_label = QLabel("转出医生姓名:")self.doctor_out_edit = QLineEdit()out_id_label = QLabel("转出医生DID:")self.out_id_edit = QLineEdit()clinic_out_label = QLabel("转出诊所名称:")self.clinic_out_id_edit = QLineEdit()layout.addWidget(doctor_out_label)layout.addWidget(self.doctor_out_edit)layout.addWidget(out_id_label)layout.addWidget(self.out_id_edit)layout.addWidget(clinic_out_label)layout.addWidget(self.clinic_out_id_edit)# 转入输入框doctor_in_label = QLabel("转入医生姓名:")self.doctor_in_edit = QLineEdit()in_id_label = QLabel("转入医生DID:")self.in_id_edit = QLineEdit()clinic_in_label = QLabel("转出诊所名称:")self.clinic_in_id_edit = QLineEdit()layout.addWidget(doctor_in_label)layout.addWidget(self.doctor_in_edit)layout.addWidget(in_id_label)layout.addWidget(self.in_id_edit)layout.addWidget(clinic_in_label)layout.addWidget(self.clinic_in_id_edit)# 生成按钮self.generate_button = QPushButton("生成")self.generate_button.clicked.connect(self.generate_button_clicked)layout.addWidget(self.generate_button)self.setLayout(layout)self.show()def generate_button_clicked(self):get_pic_by_font.delete_all_png()template = self.template_combobox.currentText()#模板patient_name = self.patient_name_edit.text()#患者姓名patient_pid = self.patient_pid_edit.text()#患者PIDpatient_scan_id = self.patient_scan_id_edit.text()#患者口扫IDout_doctor_name = self.doctor_out_edit.text()#转出医生姓名out_doctor_id = self.out_id_edit.text()#转出医生DIDout_clinic_name = self.clinic_out_id_edit.text()#转出诊所名称in_doctor_name = self.doctor_in_edit.text()#转入医生姓名in_doctor_id = self.in_id_edit.text()#转入医生DIDin_clinic_name = self.clinic_in_id_edit.text()#转入诊所名称# 进行模板生成的逻辑处理,这里只是简单的打印输出print("选择模板:", template)print("患者姓名:",patient_name)get_pic_by_font.generate_text_image(patient_name,font_path,font_size)print("患者PID:",patient_pid)get_pic_by_font.generate_text_image(patient_pid,font_path,font_size)print("患者口扫ID:",patient_scan_id)get_pic_by_font.generate_text_image(patient_scan_id,font_path,font_size)print("转出医生姓名:", out_doctor_name)print("转出医生DID:", out_doctor_id)print("转出诊所名称:", out_clinic_name)get_pic_by_font.generate_text_image(out_doctor_name,font_path,font_size)get_pic_by_font.generate_text_image(out_doctor_id,font_path,font_size)get_stamp_png.func_get_stamp_png(out_clinic_name)print("转入医生姓名:", in_doctor_name)print("转入医生DID:", in_doctor_id)print("转入诊所名称:", in_clinic_name)get_pic_by_font.generate_text_image(in_doctor_name,font_path,font_size)get_pic_by_font.generate_text_image(in_doctor_id,font_path,font_size)get_stamp_png.func_get_stamp_png(in_clinic_name)if template == "口扫":print("口扫盖章")template_path = "./template/口扫.png"output_ret_path = "./ret.png"get_pic_by_font.func_seal(template_path,save_path+patient_name+".png",output_ret_path,190,270)#患者名字盖章get_pic_by_font.func_seal(output_ret_path,save_path+patient_pid+".png",output_ret_path,760,270)#PID盖章get_pic_by_font.func_seal(output_ret_path,save_path+patient_scan_id+".png",output_ret_path,1350,270)#口扫ID盖章get_pic_by_font.func_seal(output_ret_path,save_path+out_doctor_name+".png",output_ret_path,190,710)#转出医生姓名盖章get_pic_by_font.func_seal(output_ret_path,save_path+out_doctor_id+".png",output_ret_path,640,710)#转出医生DID盖章get_pic_by_font.func_seal(output_ret_path,save_stamp_path+out_clinic_name+".png",output_ret_path,1190,770)#转出诊所名称盖章get_pic_by_font.func_seal(output_ret_path,save_path+in_doctor_name+".png",output_ret_path,190,1090)#转入医生姓名盖章get_pic_by_font.func_seal(output_ret_path,save_path+in_doctor_id+".png",output_ret_path,660,1090)#转入医生DID盖章get_pic_by_font.func_seal(output_ret_path,save_stamp_path+in_clinic_name+".png",output_ret_path,1250,1100)#转入诊所名称盖章get_pic_by_font.func_seal(output_ret_path,save_path+patient_name+".png",output_ret_path,170,1690)#患者名字盖章get_pic_by_font.func_seal(output_ret_path,save_path+patient_name+".png",output_ret_path,710,1690)#患者名字盖章QMessageBox.warning(None, "Warning", "盖章完毕,文件名为ret.png")elif template == "转诊":print("转诊盖章")template_path = "./template/转诊.png"if __name__ == "__main__":my_config = config_read.read_config()font_path = my_config.get('Font','style')font_size = int(my_config.get('Font','size'))print(font_path)print(font_size)app = QApplication(sys.argv)window = TemplateGenerator()sys.exit(app.exec_())

2.配置文件模块

import configparser
import os# 读取配置文件 
def read_config():#root_dir = os.path.dirname(os.path.dirname(__file__))  # # 获取当前文件所在目录#config_dir = os.path.join(root_dir, './config', 'config.ini')  # 组装config.ini路径,也可以直接写配置文件的具体路径,不用自动获取cf = configparser.ConfigParser()cf.read("./config/config.ini", encoding="utf-8")  # 读取config.inireturn cf

3.文本转换手写字体图片模块

from PIL import Image, ImageDraw, ImageFont
import os
import globdef generate_text_image(text, font_path, font_size):# 创建一个空白的图片#print(text.length()*100)if len(text) == 0:returnimage = Image.new('RGB', (len(text)*25+20, 40), color='white')draw = ImageDraw.Draw(image)# 加载手写字体font = ImageFont.truetype(font_path, font_size)# 在图片上绘制文本draw.text((10, 10), text, font=font, fill='black')# 保存生成的图片image.save("./output/"+text+".png")# 指定目录
directory = "./output"def delete_all_png():# 获取指定目录中所有后缀名为".png"的文件列表png_files = glob.glob(os.path.join(directory, "*.png"))# 遍历文件列表,逐个删除文件for png_file in png_files:try:os.remove(png_file)print(f"已删除文件:{png_file}")except OSError as e:print(f"删除文件时出错:{e}")def func_seal(background,stamp,ret_name,x,y):'''print("seal satrt")print(background)print(stamp)print(ret_name)'''imageA = Image.open(stamp)#章imageB = Image.open(background)#表# 将图像A的背景色设置为透明imageA = imageA.convert("RGBA")datas = imageA.getdata()newData = []for item in datas:if item[0] == 255 and item[1] == 255 and item[2] == 255:newData.append((255, 255, 255, 0))else:newData.append(item)imageA.putdata(newData)# 在图像B上粘贴图像A,并将B的背景色设置为A的透明区域的背景色imageB.paste(imageA, (x, y), imageA)newImage = Image.new("RGBA", imageB.size, (255, 255, 255, 255))newImage.paste(imageB, (0, 0), imageB)# 保存新图像newImage.save(ret_name, "PNG")return ret_name

4.文本生成盖章内容模块

import requests
import urllib.parse
from PIL import Imagedef func_get_stamp_png(name):# 定义API的地址if len(name) == 0:returnout_put_name = "./output/stamp/"+name+".png"url = "http://www.yinzhang8.com.cn/seal/index.php?name="url += urllib.parse.quote(name)url += "&type=1"# 发送HTTP请求response = requests.get(url)print(response.status_code)#print(response.text)print(type(response))# 将返回的二进制数据保存为本地文件with open(out_put_name, "wb") as f:f.write(response.content)# 打开图片文件img = Image.open(out_put_name)# 获取图片的宽度和高度width, height = img.size# 计算需要裁剪的高度crop_height = int(height * 0.1)# 裁剪图片cropped_img = img.crop((0, 0, width, height - crop_height))# 覆盖保存原始文件cropped_img.save(out_put_name)
http://www.ds6.com.cn/news/47975.html

相关文章:

  • 商业网站建设目标新闻平台发布
  • 给别人做网站多少钱优就业seo
  • 网站开发软件手机版怎么才能让百度收录网站
  • 凡科免费建站靠谱吗域名收录查询
  • 用jsp sqlserver做的购物网站app制作费用一览表
  • wordpress配置数据库连接苏州网站关键词优化推广
  • 潍坊专业网站建设价格免费网站seo优化
  • 禁止复制的网站网红推广团队去哪里找
  • 震旦集团网站建设网站开发北京公司
  • 网站空间去哪里买的银川seo
  • 关于配色的网站营业推广
  • 心理测评做测试的网站卡点视频软件下载
  • 柳市做网站的公司百度seo排名点击软件
  • 海南房产网站开发快速排名生客seo
  • wordpress网站被攻击内存优化大师
  • 新疆新疆 建设银行网站南昌网优化seo公司
  • 网站开发手机版哪里有正规的电商培训班
  • 优质的seo网站排名优化软件官网seo怎么做
  • 网站开发wbs工作分解结构网站推广多少钱
  • 日本出线未云南优化公司
  • 厦门思总建设有限公司网站网上在哪里打广告最有效
  • 使用bootstrap做网站的视频品牌推广方案策划书
  • 仿站模板网络营销学校
  • 提供营销网站建设公司黑帽seo技巧
  • 日木女人做爰视频网站上海单个关键词优化
  • 做宣传单用什么网站网站查询信息
  • 网站排名做不上去seo超级外链工具免费
  • 定制网站的价格低洛阳搜索引擎优化
  • 二维码怎么在网站上做推广高级seo优化招聘
  • 建设工程信息在哪个网站优化二十条