Analyseurs
Analyseurs
API interne — Les classes sur cette page sont utilisées en interne par le pipeline de conversion de documents. La plupart des développeurs interagissent avec
Document.save()etDocument.get_text()à la place. Voir Gestion du noyau pour l’API publique.
Aspose.Words FOSS for Python inclut des analyseurs spécialisés qui extraient des données structurées des éléments internes du DOCX. Le NumberingParser gère les définitions de numérotation des listes, et le StyleParser extrait les styles du document.
Analyseur de numérotation
NumberingParser lit les définitions de numérotation d’un package DOCX et les expose via une API de requête. Utilisez parse_numbering_part() pour charger le XML de numérotation, puis interrogez les propriétés de la liste avec les méthodes d’assistance.
| Méthode | Description |
|---|---|
NumberingParser.parse_numbering_part() | Analyser l’élément de numérotation DOCX |
NumberingParser.get_list_info() | Obtenir des informations sur une liste spécifique par ID |
NumberingParser.get_level_info() | Obtenir les détails du niveau d’une liste à une profondeur donnée |
NumberingParser.is_ordered_list() | Vérifier si un niveau de liste est ordonné ou à puces |
NumberingParser.get_start_value() | Obtenir le numéro de départ d’un niveau de liste |
NumberingParser.get_delimiter() | Obtenir la chaîne de délimiteur d’un niveau de liste |
Analyseur de style
StyleParser analyse les noms de styles en objets structurés ParsedStyle. Il identifie les titres, les citations, les blocs de code et les paragraphes de listes à partir des noms de styles DOCX.
| Méthode | Description |
|---|---|
StyleParser.parse() | Analyser un nom de style en un objet ParsedStyle |
StyleParser.get_style_chain() | Analyser une chaîne de noms de style pour les styles hérités |
StyleParser.is_setext_heading() | Vérifier si un style est un en‑tête de style Setext |
StyleParser.extract_all_styles() | Extraire les noms de style individuels d’une chaîne séparée par des virgules |
Modèle de données de numérotation
Les données de numérotation analysées sont stockées dans des objets structurés :
| Classe | Description |
|---|---|
NumberingInfo | Définition de la numérotation avec num_id, abstract_num_id et levels |
NumberingLevel | Définition de niveau avec les propriétés format, start et text |
ListInfo | Information sur une instance de liste spécifique |
ListLevelInfo | Détails de mise en forme spécifiques au niveau |
Conseils et meilleures pratiques
- Appelez
parse_numbering_part()une fois après le chargement d’un document pour remplir toutes les définitions de listes - Utilisez
is_ordered_list()pour distinguer les listes numérotées des listes à puces - Utilisez
get_style_chain()pour analyser les chaînes de styles héritées en un seul appel - Les analyseurs de numérotation et de style sont utilisés en interne par le pipeline de conversion de documents
Problèmes courants
| Problème | Cause | Correction |
|---|---|---|
| Définitions de numérotation vides | Le document ne contient aucune liste | Vérifiez la valeur de retour de get_list_info() avant d’accéder aux propriétés |
| Style manquant | Nom du style non reconnu | Utilisez parse() avec un nom de style connu |
| Niveau de liste incorrect | Paramètre de niveau incorrect | Les niveaux de liste sont indexés à partir de zéro |
Résumé de la référence API
| Classe / Méthode | Description |
|---|---|
NumberingParser.parse_numbering_part() | Analyser les définitions de numérotation DOCX |
NumberingParser.get_list_info() | Interroger les informations de liste par ID |
NumberingParser.is_ordered_list() | Vérifier si un niveau de liste est ordonné |
StyleParser.parse() | Analyser un nom de style en informations structurées |
StyleParser.get_style_chain() | Analyser une chaîne de noms de style hérités |
NumberingInfo | Modèle de données de définition de numérotation |
NumberingLevel | Définition de niveau avec format et valeur de départ |