import json from paddleocr import PaddleOCR from simple_salesforce import Salesforce # ------------------------ # CONFIGURATION # ------------------------ SF_USERNAME = "licproject@2025.com" SF_PASSWORD = "Lic@2025" SF_TOKEN = "AmmfRcd6IiYaRtSGntBnzNMQU" IMAGE_PATH = "sample.jpg" # Change this to your actual image file path # ------------------------ # CONNECT TO SALESFORCE # ------------------------ def connect_salesforce(): try: sf = Salesforce( username=SF_USERNAME, password=SF_PASSWORD, security_token=SF_TOKEN, domain="login" # Production ) print("✅ Connected to Salesforce (Production)") return sf except Exception as e: print("❌ Production login failed:", e) try: sf = Salesforce( username=SF_USERNAME, password=SF_PASSWORD, security_token=SF_TOKEN, domain="test" # Sandbox ) print("✅ Connected to Salesforce (Sandbox)") return sf except Exception as e2: print("❌ Sandbox login failed:", e2) return None # ------------------------ # RUN OCR # ------------------------ def extract_text_from_image(image_path): try: ocr = PaddleOCR(use_angle_cls=True, lang='en') results = ocr.ocr(image_path, cls=True) extracted_text = [line[1][0] for line in results[0]] return {"status": "success", "text": extracted_text} except Exception as e: return {"status": "error", "message": str(e)} # ------------------------ # MAIN EXECUTION # ------------------------ if __name__ == "__main__": sf_conn = connect_salesforce() if not sf_conn: output = { "salesforce_result": { "status": "error", "message": "Salesforce not connected" } } print(json.dumps(output, indent=4)) exit() ocr_output = extract_text_from_image(IMAGE_PATH) final_output = { "salesforce_result": { "status": "connected" }, "ocr_result": ocr_output } print(json.dumps(final_output, indent=4))