import os
import json
import gradio as gr
import subprocess
import pandas as pd
from pathlib import Path
import shutil
import time
import re
# 创建工作目录
WORKSPACE_DIR = "olmocr_workspace"
os.makedirs(WORKSPACE_DIR, exist_ok=True)
def modify_html_for_better_display(html_content):
"""修改HTML以便在Gradio中更好地显示"""
if not html_content:
return html_content
# 增加容器宽度
html_content = html_content.replace('
',
'
')
# 增加文本大小
html_content = html_content.replace('
""")
# 添加操作说明
gr.Markdown("""
## 使用说明
1. 上传PDF文件
2. 点击"处理PDF"按钮
3. 等待处理完成
4. 查看提取的文本
## 注意
- 处理过程可能需要几分钟,请耐心等待
- 首次运行会下载模型(约7GB)
""")
# 绑定按钮事件 - 使用阻塞模式
process_btn.click(
fn=process_pdf,
inputs=pdf_input,
# outputs=[log_output, text_output, html_output, meta_output],
outputs=[text_output],
api_name="process"
)
# 启动应用
if __name__ == "__main__":
app.launch(
server_name='0.0.0.0',
server_port=5000,
share=False
)