import requests
import json
import base64
import sys

def extract_pdf(pdf_path):
    with open(pdf_path, "rb") as f:
        file_bytes = f.read()
    b64_data = base64.b64encode(file_bytes).decode('utf-8')
    
    url = "https://api.clarifai.com/v2/users/deepseek-ai/apps/deepseek-ocr/models/DeepSeek-OCR/versions/c52cf7da9b1c4095b07e2a1ccb842811/outputs"
    headers = {
        "Authorization": "Key a1a09aad41aa43abbe23122fa1996544",
        "Content-Type": "application/json"
    }
    
    data = {
        "inputs": [
            {
                "data": {
                    "image": {
                        "base64": b64_data
                    }
                }
            }
        ]
    }
    
    response = requests.post(url, headers=headers, json=data)
    if response.status_code != 200:
        print("Error:", response.status_code, response.text)
        return None
        
    result = response.json()
    try:
        text = result['outputs'][0]['data']['text']['raw']
        return text
    except KeyError:
        print("Error parsing response:", result)
        return None

if __name__ == "__main__":
    if len(sys.argv) > 1:
        pdf_path = sys.argv[1]
    else:
        pdf_path = "tmp_91_100.pdf"
        
    text = extract_pdf(pdf_path)
    if text:
        with open("deepseek_result.txt", "w", encoding="utf-8") as f:
            f.write(text)
        print("Success")
