| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import os
- import ollama
- from pdf2image import convert_from_path
- # Chemin du PDF
- script_dir = os.path.dirname(os.path.abspath(__file__))
- pdf_path = os.path.join(
- script_dir,
- "..",
- "01 - Sources",
- "2025",
- "CNP Assurances-SFCR-Solo-2025.pdf"
- )
- # Pages à traiter
- pages = [90]
- prompt = """Extrais uniquement les cellules contenant :
- - des codes de lignes (ex: R0010, R0020...)
- - des codes de colonnes (ex: C0010, C0020...)
- - des valeurs numériques (nombres, %, montants)
- Ignore complètement tout texte descriptif.
- Pour chaque cellule retourne :
- - R : numéro de ligne dans le tableau
- - C : numéro de colonne dans le tableau
- - value : contenu exact de la cellule
- Aucun commentaire, aucun texte supplémentaire.
- """
- for page in pages:
- # Convertir une page PDF en image
- images = convert_from_path(pdf_path, first_page=page, last_page=page,dpi=80)
-
- image_path = f"page_{page}.png"
- images[0].save(image_path, "PNG")
- # Appel au modèle Ollama (Qwen-VL)
- response = ollama.chat(
- model="minicpm-v",
- messages=[
- {
- "role": "user",
- "content": prompt,
- "images": [image_path]
- }
- ]
- )
- print(f"Page {page} :")
- print(response["message"]["content"])
|