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