Applicare la formattazione della tabella

Ogni elemento di una tabella può essere applicato con formattazione diversa. Ad esempio, la formattazione della tabella verrà applicata all’intera tabella, la formattazione della riga a solo righe particolari, la formattazione della cella a solo alcune celle.

Aspose.Words fornisce un ricco API per recuperare e applicare la formattazione a una tabella. È possibile utilizzare Table, RowFormat, e CellFormat nodi per impostare la formattazione.

In questo articolo, parleremo di come applicare la formattazione a diversi nodi di tabella e quali impostazioni di formattazione della tabella Aspose.Words supporti.

Applicare la formattazione a diversi nodi

In questa sezione, cercheremo di applicare la formattazione a vari nodi di tabella.

Formattazione del livello della tabella

Per applicare la formattazione a una tabella è possibile utilizzare le proprietà disponibili sulla corrispondente Table nodo usando il Table, PreferredWidth, e TableCollection classi.

Le immagini qui sotto mostrano una rappresentazione del Table funzioni di formattazione in Microsoft Word e le loro proprietà corrispondenti in Aspose.Words.

apply-formatting-to-table-level-aspose-words-java

apply-formatting-to-table-level-aspose-words-java

Il seguente esempio di codice mostra come applicare un bordo sagomato a una tabella:

Il seguente esempio di codice mostra come costruire una tabella con tutti i bordi abilitati (grid):

Formattazione del livello di riga

La formattazione a livello di riga** può essere controllata utilizzando Row, RowFormat, e RowCollection classi.

Le immagini qui sotto mostrano una rappresentazione del Row funzioni di formattazione in Microsoft Word e le loro proprietà corrispondenti in Aspose.Words.

apply-formatting-to-row-level-aspose-words-java

Il seguente esempio di codice mostra come modificare la formattazione della riga della tabella:

Formattazione del livello cellulare

La formattazione a livello cellulare è controllata dal Cell, CellFormat, e CellCollection classi.

Le immagini qui sotto mostrano una rappresentazione del Cell funzioni di formattazione in Microsoft Word e le loro proprietà corrispondenti in Aspose.Words.

apply-formatting-to-cell-level-aspose-words-java

apply-auto-formatting-to-row-level-aspose-words-java

Il seguente esempio di codice mostra come modificare la formattazione di una cella di tabella:

Il seguente esempio di codice mostra come impostare la quantità di spazio (in punti) da aggiungere a sinistra/top/right/bottom del contenuto della cella:

Specificare le altezze delle righe

Il modo più semplice per impostare l’altezza della riga è quello di utilizzare DocumentBuilder. Utilizzo dell’appropriato RowFormat proprietà, è possibile impostare l’impostazione dell’altezza predefinita o applicare un’altezza diversa per ogni riga nella tabella.

In Aspose.Words, altezza della riga del tavolo è controllata da:

  • la proprietà dell’altezza della fila – Height
  • la proprietà della regola di altezza per la riga data – HeightRule

Allo stesso tempo, un’altezza diversa può essere impostata per ogni riga – questo consente di controllare ampiamente le impostazioni della tabella.

Il seguente esempio di codice mostra come creare una tabella che contiene una singola cella e applicare la formattazione della riga:

Specificare la larghezza della tabella e delle celle

Un tavolo in un Microsoft Word documento fornisce diversi modi per ridimensionare la tabella e le singole celle. Queste proprietà consentono un notevole controllo sull’aspetto e sul comportamento della tabella, in modo che Aspose.Words supporta il comportamento dei tavoli, come in Microsoft Word.

È importante sapere che gli elementi della tabella presentano diverse proprietà che possono influenzare come le larghezze della tabella generale, così come le singole celle, è calcolato:

  • Larghezza preferenziale sul tavolo
  • Larghezza preferenziale su singole celle
  • Consentire autofit sul tavolo

Questo articolo dettagli come le varie proprietà di calcolo della larghezza della tabella funzionano e come ottenere il controllo completo sul calcolo della larghezza della tabella. Questo è particolarmente utile per conoscere in tali casi in cui il layout della tabella non appare come previsto.

Come Usare la Larghezza Preferita

La larghezza desiderata di un tavolo o di singole celle è definita attraverso la proprietà di larghezza preferita, che è la dimensione che un elemento si sforza di adattarsi. Cioè, la larghezza preferita può essere specificata per l’intera tabella o per le singole celle. In alcune situazioni potrebbe non essere possibile adattare esattamente questa larghezza, ma la larghezza effettiva sarà vicina a questo valore nella maggior parte dei casi.

Il tipo di larghezza e il valore desiderato appropriato sono impostati utilizzando i metodi PreferredWidth classe:

  • Auto campo per specificare auto o “nessuna larghezza preferita”
  • FromPercent metodo per specificare una larghezza percentuale
  • FromPoints metodo per specificare la larghezza nei punti

Le immagini qui sotto mostrano una rappresentazione delle caratteristiche preferite di regolazione della larghezza in Microsoft Word e le loro proprietà corrispondenti in Aspose.Words.

formatting-table-properties-aspose-words-java

Un esempio di come queste opzioni sono applicate a una tabella reale in un documento può essere visto nell’immagine qui sotto.

table-applied-options-java

Specificare la Tabella Preferita o la Larghezza Cellulare

In Aspose.Words, le larghezze della tabella e delle celle sono impostate utilizzando Table.PreferredWidth proprietà e CellFormat.PreferredWidth proprietà, con opzioni disponibili nella PreferredWidthType enumerazione:

  • No. Auto, che è equivalente a nessun set di larghezza preferito
  • No. Percent, che si adatta all’elemento rispetto allo spazio disponibile nella finestra o nella dimensione del contenitore, e calcola il valore quando la larghezza disponibile cambia
  • No. Points, che corrisponde ad un elemento della larghezza specificata in punti

Usare il Table.PreferredWidth la proprietà regola la sua larghezza preferita rispetto al suo contenitore: pagina, colonna di testo o cella della tabella esterna se è una tabella nidificata.

Il seguente esempio di codice mostra come impostare la tabella in modo automatico al 50% della larghezza della pagina:

Usare il CellFormat.PreferredWidth la proprietà su una determinata cella regola la sua larghezza preferita.

Il seguente esempio di codice mostra come impostare le diverse impostazioni di larghezza preferita:

Trova Tipo di Larghezza e Valore Preferiti

È possibile utilizzare Type e Value proprietà per trovare i dettagli di larghezza preferiti della tabella o della cella desiderata.

Il seguente esempio di codice mostra come recuperare il tipo di larghezza preferito di una cella di tabella:

Come Impostare l’Autofit

The AllowAutoFit proprietà consente alle celle in una tabella di crescere e ridurre in base a un criterio selezionato. Per esempio, è possibile utilizzare il AutoFit alla finestra opzione per adattare la tabella alla larghezza della pagina, e la AutoFit to Content opzione per consentire a ciascuna cella di crescere o ridurre in base al suo contenuto.

Per impostazione predefinita, Aspose.Words inserisce una nuova tabella utilizzando AutoFit alla finestra. La tabella sarà dimensionata in base alla larghezza della pagina disponibile. Per ridimensionare un tavolo, è possibile chiamare AutoFit metodo. Questo metodo accetta un AutoFitBehavior enumerazione che specifica quale tipo di autofit viene applicato alla tabella.

È importante sapere che il metodo di autofit è in realtà una scorciatoia che applica diverse proprietà alla tabella contemporaneamente. Queste sono proprietà che danno effettivamente alla tabella il comportamento osservato. Discuteremo queste proprietà per ogni opzione di autofit.

Il seguente esempio di codice mostra come impostare una tabella per ridurre o crescere ogni cella secondo il suo contenuto:

Useremo la seguente tabella per applicare le varie impostazioni di auto vestibilità come dimostrazione.

apply-different-autofit-settings-to-a-table-aspose-words-java

Tavolino da tavolo per finestra

Quando l’autofitting a una finestra viene applicata a un tavolo, le seguenti operazioni vengono effettivamente eseguite dietro le quinte:

  1. The Table.AllowAutoFit la proprietà è abilitata per ridimensionare automaticamente le colonne per adattarsi al contenuto disponibile, utilizzando un Table.PreferredWidth valore del 100%
  2. CellFormat.PreferredWidth viene rimosso da tutte le celle della tabella
  3. Le larghezze delle colonne sono ricalcolate per il contenuto della tabella corrente – il risultato finale è una tabella che occupa l’intera larghezza disponibile
  4. La larghezza delle colonne nella tabella cambia automaticamente mentre l’utente modifica il testo

Il seguente esempio di codice mostra come automatizzare una tabella alla larghezza della pagina:

Un esempio di come queste opzioni sono applicate alla tabella sopra può essere visto nell’immagine qui sotto.

autofit-table-aspose-words-java

Tabella di autofilettatura al contenuto

Quando la tabella viene automatizzata il contenuto, i seguenti passaggi vengono effettivamente eseguiti dietro le quinte:

  1. The Table.AllowAutoFit la proprietà è abilitata a ridimensionare automaticamente ogni cella in base al suo contenuto

  2. La larghezza della tabella preferita viene rimossa Table.PreferredWidth, CellFormat.PreferredWidth viene rimosso per ogni cella della tabella

  3. Le larghezze delle colonne sono ricalcolate per il contenuto della tabella corrente – il risultato finale è una tabella in cui le larghezze della colonna e la larghezza dell’intera tabella vengono ridimensionate automaticamente per adattarsi al meglio al contenuto mentre l’utente modifica il testo

Il seguente esempio di codice mostra come automatizzare una tabella al suo contenuto:

Un esempio di come queste opzioni sono applicate alla tabella sopra può essere visto nell’immagine qui sotto.

resize-column-autofit-settings-aspose-words-java

Disattivare l’AutoFit nella tabella e utilizzare le Width della colonna fissa

Se una tabella ha autofit disabilitato e le larghezze delle colonne fisse sono utilizzate invece, vengono eseguite le seguenti fasi:

  1. Table.AllowAutoFit proprietà è disabilitata in modo che le colonne non crescono o si restringono al loro contenuto
  2. La larghezza preferita dell’intera tabella viene rimossa da Table.PreferredWidth, CellFormat.PreferredWidth viene rimosso da tutte le celle della tabella
  3. Il risultato finale è una tabella la cui larghezza di colonna è determinata dalla CellFormat.Width proprietà, e le cui colonne non vengono ridimensionate automaticamente quando l’utente entra nel testo o quando la pagina viene ridimensionata

Il seguente esempio di codice mostra come disattivare l’autofit e abilitare la larghezza fissa per la tabella specificata:

Un esempio di come queste opzioni sono applicate alla tabella sopra può essere visto nell’immagine qui sotto.

disable-autofit-settings-to-a-table-aspose-words-java

Ordine di Precedenza quando Calcolo Larghezza Cellulare

Aspose.Words consente agli utenti di definire la larghezza di una tabella o di una cella attraverso oggetti multipli, incluso CellFormat – la sua Width la proprietà è per lo più lasciata da versioni precedenti, tuttavia, è ancora utile per semplificare l’impostazione della larghezza della cella.

È importante sapere che CellFormat.Width la proprietà funziona in modo diverso a seconda di quale delle altre proprietà di larghezza già esistono nella tabella.

Aspose.Words utilizza il seguente ordine per il calcolo delle larghezze delle celle:

Ordinanza Proprietà Designazione
1 AllowAutoFit è determinato Se AutoFit è abilitato:
- la tabella può crescere oltre la larghezza preferita per ospitare il contenuto – di solito non si restringe sotto la larghezza preferita
- qualsiasi cambiamento al CellFormat.Width il valore è ignorato e la cella si adatta al suo contenuto invece
2 PreferredWidthType con un valore di Points o Percent CellFormat.Width è ignorato
3 PreferredWidthType con un valore di Auto Il valore dal CellFormat.Width viene copiato e diventa la larghezza preferita della cella (in punti)

Lasciare spaziare tra celle

È possibile ottenere o impostare qualsiasi spazio aggiuntivo tra le celle da tavolo simile all’opzione “Stampamento Сell” in Microsoft Word. Questo può essere fatto utilizzando AllowCellSpacing proprieta'.

Un esempio di come queste opzioni sono applicate a una tabella reale in un documento può essere visto nell’immagine qui sotto.

formatting-spacing-between-cells-aspose-words-java

Il seguente esempio di codice mostra come impostare la spaziatura tra le celle:

Applicare bordi e ombreggiatura

Borders e ombreggiatura possono essere applicati sia all’intera tabella utilizzando Table.SetBorder, Table.SetBorders e Table.SetShading, o solo a celle specifiche utilizzando CellFormat.Borders e CellFormat.Shading. Inoltre, i bordi delle righe possono essere impostati utilizzando RowFormat.Borders, Tuttavia la ombreggiatura non può essere applicata in questo modo.

Le immagini qui sotto mostrano le impostazioni di confine e ombra in Microsoft Word e le loro proprietà corrispondenti in Aspose.Words.

apply-borders-shading-aspose-words-java-1

apply-borders-shading-aspose-words-java-2

Il seguente esempio di codice mostra come formattare una tabella e una cella con diversi bordi e ombreggiature: