Update: Refactor to absolute imports, fix QPS limits, and enhance Gitea sync with SQLite support

This commit is contained in:
2026-07-21 10:25:29 +08:00
parent ef04fc5627
commit 97d9d98b4c
67 changed files with 1691 additions and 457 deletions
+73
View File
@@ -0,0 +1,73 @@
import os
import base64
import requests
import json
from pathlib import Path
def get_access_token(api_key, secret_key):
url = f"https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={api_key}&client_secret={secret_key}"
response = requests.request("POST", url)
return response.json().get("access_token")
def test_table_v2(image_path, api_key, secret_key):
# 表格识别V2接口
request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/table"
with open(image_path, "rb") as f:
img = base64.b64encode(f.read())
params = {
"image": img,
"is_sync": "true",
"request_type": "excel"
}
access_token = get_access_token(api_key, secret_key)
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
return response.json()
if __name__ == "__main__":
api_key = "kIehdWbbVD85K18qZYz6SeUf"
secret_key = "RCXTgmVjJJkNNMhfY5ASab0xY3mvF6d7"
input_dir = Path(r"F:\Administrator\桌面\OCR系统_Release\data\input")
images = list(input_dir.glob("*.jpg")) + list(input_dir.glob("*.png"))
if not images:
print("错误: 桌面 Release 目录下没有找到图片文件")
else:
latest_image = max(images, key=os.path.getmtime)
print(f"正在使用【表格识别V2】接口测试图片: {latest_image.name}")
result = test_table_v2(str(latest_image), api_key, secret_key)
# 打印表格外的文字(header/footer
if "tables_result" in result:
print("\n--- 表格识别结果 ---")
for table in result["tables_result"]:
print("\n[Header 区域]:")
header = table.get("header", [])
for cell in header:
print(f"- {cell.get('words')}")
print("\n[Footer 区域]:")
footer = table.get("footer", [])
for cell in footer:
print(f"- {cell.get('words')}")
elif "result" in result and "tables_result" in result["result"]:
print("\n--- 表格识别结果 (嵌套结构) ---")
for table in result["result"]["tables_result"]:
print("\n[Header 区域]:")
header = table.get("header", [])
for cell in header:
print(f"- {cell.get('words')}")
print("\n[Footer 区域]:")
footer = table.get("footer", [])
for cell in footer:
print(f"- {cell.get('words')}")
else:
print(f"识别失败或未找到表格: {json.dumps(result, indent=2, ensure_ascii=False)[:500]}")