Analizzatori

Parser

Internal API — Le classi in questa pagina sono usate internamente dal pipeline di conversione dei documenti. La maggior parte degli sviluppatori interagisce invece con Document.save() e Document.get_text(). Vedi Core Management per l’API pubblica.

Aspose.Words FOSS for Python include parser specializzati che estraggono dati strutturati dagli internals di DOCX. Il NumberingParser gestisce le definizioni di numerazione delle liste, e StyleParser estrae gli stili del documento.


Parser di numerazione

NumberingParser legge le definizioni di numerazione da un pacchetto DOCX e le espone tramite un’API di query. Usa parse_numbering_part() per caricare l’XML di numerazione, quindi interroga le proprietà dell’elenco con i metodi di supporto.

MetodoDescrizione
NumberingParser.parse_numbering_part()Analizza l’elemento di numerazione DOCX
NumberingParser.get_list_info()Ottieni informazioni su una lista specifica per ID
NumberingParser.get_level_info()Ottieni i dettagli del livello per una lista a una determinata profondità
NumberingParser.is_ordered_list()Verifica se un livello di lista è ordinato o puntato
NumberingParser.get_start_value()Ottieni il numero iniziale per un livello di lista
NumberingParser.get_delimiter()Ottieni la stringa delimitatore per un livello di lista

Parser di stile

StyleParser analizza i nomi degli stili in oggetti ParsedStyle strutturati. Identifica intestazioni, citazioni, blocchi di codice e paragrafi di elenco dai nomi degli stili DOCX.

MetodoDescrizione
StyleParser.parse()Analizza un nome di stile in un oggetto ParsedStyle
StyleParser.get_style_chain()Analizza una catena di nomi di stile per gli stili ereditati
StyleParser.is_setext_heading()Verifica se uno stile è un’intestazione in stile Setext
StyleParser.extract_all_styles()Estrai i singoli nomi di stile da una catena separata da virgole

Modello di dati di numerazione

I dati di numerazione analizzati sono memorizzati in oggetti strutturati:

ClasseDescrizione
NumberingInfoDefinizione di numerazione con num_id, abstract_num_id e levels
NumberingLevelDefinizione di livello con le proprietà format, start e text
ListInfoInformazioni su una specifica istanza di elenco
ListLevelInfoDettagli di formattazione specifici per il livello

Consigli e migliori pratiche

  • Chiama parse_numbering_part() una volta dopo aver caricato un documento per popolare tutte le definizioni di elenco
  • Usa is_ordered_list() per distinguere gli elenchi numerati da quelli puntati
  • Usa get_style_chain() per analizzare le catene di stile ereditate in una singola chiamata
  • I parser di numerazione e di stile sono utilizzati internamente dal pipeline di conversione dei documenti

Problemi comuni

ProblemaCausaCorrezione
Definizioni di numerazione vuoteIl documento non contiene elenchiVerificare il valore di ritorno di get_list_info() prima di accedere alle proprietà
Stile mancanteNome dello stile non riconosciutoUsare parse() con un nome di stile noto
Livello di elenco erratoParametro di livello erratoI livelli di elenco sono indicizzati a zero

Riepilogo del Riferimento API

Classe / MetodoDescrizione
NumberingParser.parse_numbering_part()Analizza le definizioni di numerazione DOCX
NumberingParser.get_list_info()Interroga le informazioni dell’elenco per ID
NumberingParser.is_ordered_list()Verifica se un livello dell’elenco è ordinato
StyleParser.parse()Analizza un nome di stile in informazioni strutturate
StyleParser.get_style_chain()Analizza una catena di nomi di stile ereditati
NumberingInfoModello di dati della definizione di numerazione
NumberingLevelDefinizione di livello con formato e valore iniziale
 Italiano