Bonjour,

Je cherche a lire un fichier scribus afin d extraire les divers texte présent sur chaque page.
Hors je ne parviens pas identifier la méthode pour y parvenir dans la Doc.


Voici le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
fichier = r"D:\nodrive\Document-1.sla"
 
 
def traduire_texte(texte):
    # Remplacer cette fonction par la logique de traduction réelle
    return texte.upper()  # Exemple simpliste de "traduction"
 
 
 
# Vérifier si le fichier existe
if not os.path.exists(fichier):
    print("Le fichier n'existe pas.")
    exit()
 
# Charger le fichier Scribus
try:
    print("Chargement du document Scribus...")
    doc_original = psf.ScribusFile("1.5.5", fichier)
    print("Document chargé avec succès.")
    # Extraire les objets de texte et traduire
    for page in doc_original.pageobjects:
        if isinstance(page, psf.model.pageobjects.TextObject):
            text_original = " ".join([story.text for story in page.stories])
            text_traduit = traduire_texte(text_original)
            print(f"Texte original: {text_original}\nTexte traduit: {text_traduit}")
            # Vous pourriez stocker les traductions pour une utilisation dans la nouvelle création de document
 
 
 
    # Créer un nouveau document Scribus
    nouveau_doc = psf.ScribusFile("1.5.5")
    # Ajouter les éléments traduits...
    # Cette partie dépend de la manière dont vous voulez structurer votre nouveau document
    # et nécessite une compréhension approfondie de l'API pyscribus pour manipuler les éléments de page
 
    # Enregistrer le nouveau document
    nouveau_chemin = r"D:\nodrive\traduit.sla"
    nouveau_doc.save(nouveau_chemin)
    print(f"Nouveau document enregistré à : {nouveau_chemin}")
 
 
except Exception as e:
    print(f"Erreur lors du chargement du document : {e}")
    exit()

Le programme provoque Erreur lors du chargement du document : module 'pyscribus.file' has no attribute 'model'


La documentation de la librairie pip pyscribus https://etnadji.fr/pyscribus/arle des objets TextObject.

Cette bibliothèque semble adaptée à la lecture, on peut ainsi lire un fichier scribus est identifié les types de documents d une page, images , textobject, ....

Pour autant le ne trouve pas même avec lxml la méthode pour extraire les textes présent sur le document