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") latexdata = StringSubstitute(r"<<待替换\d*>>",latex_raw,[content]) makedir("临时文件/pics") 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("图片已导入剪贴板")