This repository has been archived on 2024-06-23. You can view files and clone it, but cannot push or open issues or pull requests.
mathdeptv2/工具v2/单一题目转成图片文件.py

40 lines
1.3 KiB
Python

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("图片已导入剪贴板")