完成 单一题目转成图片文件 功能
This commit is contained in:
parent
6a58c745ff
commit
8893c4e927
|
|
@ -1,7 +1,16 @@
|
||||||
id = "2024"
|
|
||||||
|
|
||||||
from database_tools import *
|
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")
|
pro_dict = load_dict("../题库0.3/Problems.json")
|
||||||
content = pro_dict[id.zfill(6)]["content"]
|
content = pro_dict[id.zfill(6)]["content"]
|
||||||
latex_raw = ReadTextFile("模板文件/独立文件模板.txt")
|
latex_raw = ReadTextFile("模板文件/独立文件模板.txt")
|
||||||
|
|
@ -16,4 +25,17 @@ SaveTextFile(latexdata,"临时文件/pics/temp.tex")
|
||||||
os.system("xelatex -interaction=batchmode -output-directory=临时文件/pics temp.tex")
|
os.system("xelatex -interaction=batchmode -output-directory=临时文件/pics temp.tex")
|
||||||
os.chdir("临时文件/pics")
|
os.chdir("临时文件/pics")
|
||||||
os.system("pdftocairo temp.pdf -png -r 600")
|
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("图片已导入剪贴板")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -120,6 +120,8 @@ UseMenu.add_command(label = "文件夹题号清点", command = lambda: SetButton
|
||||||
UseMenu.add_command(label = "参考答案生成", command = lambda: SetButton("参考答案生成",["参考答案生成.py"]))
|
UseMenu.add_command(label = "参考答案生成", command = lambda: SetButton("参考答案生成",["参考答案生成.py"]))
|
||||||
UseMenu.add_separator()
|
UseMenu.add_separator()
|
||||||
UseMenu.add_command(label = "文件题号提取", command = lambda: SetButton("文件题号提取",["文件题号提取.py"]))
|
UseMenu.add_command(label = "文件题号提取", command = lambda: SetButton("文件题号提取",["文件题号提取.py"]))
|
||||||
|
UseMenu.add_separator()
|
||||||
|
UseMenu.add_command(label = "单一题目转成图片文件", command = lambda: SetButton("单一题目转成图片文件",["单一题目转成图片文件.py"]))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -87,5 +87,10 @@
|
||||||
"在.tex或.pdf文件中获取题号.py": {
|
"在.tex或.pdf文件中获取题号.py": {
|
||||||
"文件路径": "d:/temp/testblocks.tex",
|
"文件路径": "d:/temp/testblocks.tex",
|
||||||
"输出路径": "临时文件/题号列表.txt"
|
"输出路径": "临时文件/题号列表.txt"
|
||||||
|
},
|
||||||
|
"单一题目转成图片文件.py": {
|
||||||
|
"题号" : "20351",
|
||||||
|
"导入到剪贴板": true,
|
||||||
|
"说明": "如果导入到剪贴板设置为true, 图像会直接导入到剪贴板, 否则到临时文件/pics里去找temp-1.png"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue