From 8893c4e9278871c83728b4e16be5c6433b1bdc88 Mon Sep 17 00:00:00 2001 From: "weiye.wang" Date: Tue, 20 Feb 2024 18:44:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=20=E5=8D=95=E4=B8=80?= =?UTF-8?q?=E9=A2=98=E7=9B=AE=E8=BD=AC=E6=88=90=E5=9B=BE=E7=89=87=E6=96=87?= =?UTF-8?q?=E4=BB=B6=20=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 工具v2/单一题目转成图片文件.py | 26 ++++++++++++++++++++++++-- 工具v2/工具面板.py | 2 ++ 工具v2/文本文件/config.json | 5 +++++ 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/工具v2/单一题目转成图片文件.py b/工具v2/单一题目转成图片文件.py index 280919f2..ba0d35b2 100644 --- a/工具v2/单一题目转成图片文件.py +++ b/工具v2/单一题目转成图片文件.py @@ -1,7 +1,16 @@ -id = "2024" - from database_tools import * +from io import BytesIO +from PIL import Image +import win32clipboard +def send_to_clipboard(clip_type, data): + win32clipboard.OpenClipboard() + win32clipboard.EmptyClipboard() + win32clipboard.SetClipboardData(clip_type, data) + win32clipboard.CloseClipboard() + +configjson = load_dict("文本文件/config.json")["单一题目转成图片文件.py"] +id = configjson["题号"] pro_dict = load_dict("../题库0.3/Problems.json") content = pro_dict[id.zfill(6)]["content"] latex_raw = ReadTextFile("模板文件/独立文件模板.txt") @@ -16,4 +25,17 @@ SaveTextFile(latexdata,"临时文件/pics/temp.tex") os.system("xelatex -interaction=batchmode -output-directory=临时文件/pics temp.tex") os.chdir("临时文件/pics") os.system("pdftocairo temp.pdf -png -r 600") +os.chdir("../..") + +if not configjson["导入到剪贴板"]: + print("图片在 临时文件/pics/temp-1.png 处.") +else: + filepath = r"临时文件/pics/temp-1.png" + image = Image.open(filepath) + output = BytesIO() + image.convert("RGB").save(output, "BMP") + data = output.getvalue()[14:] + output.close() + send_to_clipboard(win32clipboard.CF_DIB, data) + print("图片已导入剪贴板") diff --git a/工具v2/工具面板.py b/工具v2/工具面板.py index 30e400bc..a23274a4 100644 --- a/工具v2/工具面板.py +++ b/工具v2/工具面板.py @@ -120,6 +120,8 @@ UseMenu.add_command(label = "文件夹题号清点", command = lambda: SetButton UseMenu.add_command(label = "参考答案生成", command = lambda: SetButton("参考答案生成",["参考答案生成.py"])) UseMenu.add_separator() UseMenu.add_command(label = "文件题号提取", command = lambda: SetButton("文件题号提取",["文件题号提取.py"])) +UseMenu.add_separator() +UseMenu.add_command(label = "单一题目转成图片文件", command = lambda: SetButton("单一题目转成图片文件",["单一题目转成图片文件.py"])) diff --git a/工具v2/文本文件/config.json b/工具v2/文本文件/config.json index cb0b5267..f4c13057 100644 --- a/工具v2/文本文件/config.json +++ b/工具v2/文本文件/config.json @@ -87,5 +87,10 @@ "在.tex或.pdf文件中获取题号.py": { "文件路径": "d:/temp/testblocks.tex", "输出路径": "临时文件/题号列表.txt" + }, + "单一题目转成图片文件.py": { + "题号" : "20351", + "导入到剪贴板": true, + "说明": "如果导入到剪贴板设置为true, 图像会直接导入到剪贴板, 否则到临时文件/pics里去找temp-1.png" } } \ No newline at end of file