Analizadores
Analizadores
API interna — Las clases en esta página se utilizan internamente por la canalización de conversión de documentos. La mayoría de los desarrolladores interactúan con
Document.save()yDocument.get_text()en su lugar. Consulte Gestión central para la API pública.
Aspose.Words FOSS for Python incluye analizadores especializados que extraen datos estructurados de los internos de DOCX. El NumberingParser maneja definiciones de numeración de listas, y StyleParser extrae los estilos del documento.
Analizador de numeración
NumberingParser lee las definiciones de numeración de un paquete DOCX y las expone a través de una API de consultas. Use parse_numbering_part() para cargar el XML de numeración, luego consulte las propiedades de la lista con métodos auxiliares.
| Método | Descripción |
|---|---|
NumberingParser.parse_numbering_part() | Analizar el elemento de numeración DOCX |
NumberingParser.get_list_info() | Obtener información sobre una lista específica por ID |
NumberingParser.get_level_info() | Obtener detalles del nivel para una lista a una profundidad dada |
NumberingParser.is_ordered_list() | Comprobar si un nivel de lista es ordenado o con viñetas |
NumberingParser.get_start_value() | Obtener el número inicial para un nivel de lista |
NumberingParser.get_delimiter() | Obtener la cadena delimitadora para un nivel de lista |
Analizador de estilo
StyleParser analiza los nombres de estilo en objetos estructurados ParsedStyle. Identifica encabezados, citas en bloque, bloques de código y párrafos de lista a partir de los nombres de estilo DOCX.
| Método | Descripción |
|---|---|
StyleParser.parse() | Analizar un nombre de estilo en un objeto ParsedStyle |
StyleParser.get_style_chain() | Analizar una cadena de nombres de estilo para estilos heredados |
StyleParser.is_setext_heading() | Comprobar si un estilo es un encabezado de estilo Setext |
StyleParser.extract_all_styles() | Extraer nombres de estilo individuales de una cadena separada por comas |
Modelo de datos de numeración
Los datos de numeración analizados se almacenan en objetos estructurados:
| Clase | Descripción |
|---|---|
NumberingInfo | Definición de numeración con num_id, abstract_num_id y levels |
NumberingLevel | Definición de nivel con format, start y text propiedades |
ListInfo | Información sobre una instancia de lista específica |
ListLevelInfo | Detalles de formato específicos del nivel |
Consejos y Mejores Prácticas
- Llama a
parse_numbering_part()una vez después de cargar un documento para poblar todas las definiciones de listas - Usa
is_ordered_list()para distinguir listas numeradas de listas con viñetas - Usa
get_style_chain()para analizar cadenas de estilo heredadas en una sola llamada - Los analizadores de numeración y estilo se utilizan internamente en la canalización de conversión de documentos
Problemas comunes
| Problema | Causa | Solución |
|---|---|---|
| Definiciones de numeración vacías | El documento no tiene listas | Verifique el valor de retorno de get_list_info() antes de acceder a las propiedades |
| Estilo faltante | Nombre de estilo no reconocido | Utilice parse() con un nombre de estilo conocido |
| Nivel de lista incorrecto | Parámetro de nivel incorrecto | Los niveles de lista están indexados desde cero |
Resumen de la referencia de API
| Clase / Método | Descripción |
|---|---|
NumberingParser.parse_numbering_part() | Analizar definiciones de numeración DOCX |
NumberingParser.get_list_info() | Consultar información de lista por ID |
NumberingParser.is_ordered_list() | Verificar si un nivel de lista está ordenado |
StyleParser.parse() | Analizar un nombre de estilo en información estructurada |
StyleParser.get_style_chain() | Analizar una cadena de nombres de estilo heredados |
NumberingInfo | Modelo de datos de definición de numeración |
NumberingLevel | Definición de nivel con formato y valor inicial |