Aplicați Formatarea Tabelului

Fiecare element al unui tabel poate fi aplicat cu formatare diferită. De exemplu, formatarea tabelului va fi aplicată întregului tabel, formatarea rândurilor doar la anumite rânduri, formatarea celulelor doar la anumite celule.

Aspose.Words oferă un bogat API pentru a prelua și aplica formatarea unui tabel. Puteți utiliza nodurile Table, RowFormat și CellFormat pentru a seta formatarea.

În acest articol, vom vorbi despre cum să aplicați formatarea la diferite noduri de tabel și ce setări de formatare a tabelului Aspose.Words acceptă.

Aplicați formatarea la diferite noduri

În această secțiune, vom analiza aplicarea formatării la diferite noduri de tabel.

Formatarea La Nivel De Tabel

Pentru a aplica formatarea unui tabel, puteți utiliza proprietățile disponibile pe nodul Table corespunzător folosind clasele Table, PreferredWidth și TableCollection.

Imaginile de mai jos prezintă o reprezentare a Table caracteristici de formatare în Microsoft Word și proprietățile lor corespunzătoare în Aspose.Words.

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

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

Următorul exemplu de cod arată cum să aplicați o margine de contur la un tabel:

Următorul exemplu de cod arată cum să construiți un tabel cu toate frontierele activate (grilă):

Formatarea La Nivel De Rând

Formatarea la nivel de rând * * poate fi controlată folosind clasele Row, RowFormat și RowCollection.

Imaginile de mai jos prezintă o reprezentare a Row caracteristici de formatare în Microsoft Word și proprietățile lor corespunzătoare în Aspose.Words.

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

Următorul exemplu de cod arată cum să modificați formatarea rândului tabelului:

Formatarea La Nivel De Celulă

Formatarea la nivel de celulă este controlată de clasele Cell, CellFormat și CellCollection.

Imaginile de mai jos prezintă o reprezentare a Cell caracteristici de formatare în Microsoft Word și proprietățile lor corespunzătoare în Aspose.Words.

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

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

Următorul exemplu de cod arată cum să modificați formatarea unei celule de tabel:

Următorul exemplu de cod arată cum să setați cantitatea de spațiu (în puncte) de adăugat în stânga / sus / dreapta / jos a conținutului celulei:

Specificarea Înălțimilor Rândurilor

Cel mai simplu mod de a seta înălțimea rândului este să folosiți DocumentBuilder. Folosind proprietățile corespunzătoare RowFormat, Puteți seta setarea implicită a înălțimii sau puteți aplica o înălțime diferită pentru fiecare rând din tabel.

În Aspose.Words, înălțimea rândului tabelului este controlată de:

  • proprietatea înălțimea rândului - Height
  • proprietatea regulii de înălțime pentru rândul dat - HeightRule

În același timp, poate fi setată o înălțime diferită pentru fiecare rând – acest lucru vă permite să controlați pe scară largă setările tabelului.

Următorul exemplu de cod arată cum să creați un tabel care conține o singură celulă și să aplicați formatarea rândurilor:

Specificați lățimea tabelului și a celulei

Un tabel dintr-un document Microsoft Word oferă mai multe moduri diferite de redimensionare a tabelului și a celulelor individuale. Aceste proprietăți permit un control considerabil asupra aspectului și comportamentului tabelului, astfel încât Aspose.Words să susțină comportamentul tabelelor, ca în Microsoft Word.

Este important să știți că elementele tabelului prezintă mai multe proprietăți diferite care pot afecta modul în care se calculează lățimile tabelului general, precum și celulele individuale:

  • Lățimea preferată pe masă
  • Lățimea preferată pe celule individuale
  • Permiterea autofit pe masă

Acest articol detaliază modul în care funcționează diferitele proprietăți de calcul al lățimii tabelului și cum să obțineți control complet asupra calculului lățimii tabelului. Aceasta este este deosebit de util să știți în astfel de cazuri în care aspectul tabelului nu apare așa cum era de așteptat.

Cum se utilizează lățimea preferată

Lățimea dorită a unui tabel sau a celulelor individuale este definită prin proprietatea lățimii preferate, care este dimensiunea pe care un element se străduiește să o potrivească. Adică, lățimea preferată poate fi specificată pentru întregul tabel sau pentru celulele individuale. În unele situații este posibil să nu fie posibilă încadrarea exactă a acestei lățimi, dar lățimea reală va fi apropiată de această valoare în majoritatea cazurilor.

Tipul și valoarea lățimii preferate corespunzătoare sunt setate folosind metodele clasei PreferredWidth:

  • câmpul Auto pentru a specifica auto sau “fără lățime preferată”
  • metoda FromPercent pentru a specifica o lățime procentuală
  • metoda FromPoints pentru a specifica lățimea în puncte

Imaginile de mai jos prezintă o reprezentare a preferred width setting features în Microsoft Word și proprietățile lor corespunzătoare în Aspose.Words.

formatting-table-properties-aspose-words-java

Un exemplu despre modul în care aceste opțiuni sunt aplicate unui tabel real dintr-un document poate fi văzut în imaginea de mai jos.

table-applied-options-java

Specificați tabelul preferat sau lățimea celulei

În Aspose.Words, lățimile tabelului și celulei sunt setate folosind proprietatea Table.PreferredWidth și proprietatea CellFormat.PreferredWidth, cu opțiuni disponibile în enumerarea PreferredWidthType:

  • Auto, care este echivalent cu nici un set de lățime preferat
  • Percent, care se potrivește elementului în raport cu spațiul disponibil din fereastră sau dimensiunea containerului și recalculează valoarea atunci când lățimea disponibilă se modifică
  • Points, care corespunde unui element cu lățimea specificată în puncte

Utilizarea proprietății Table.PreferredWidth va ajusta lățimea preferată în raport cu containerul său: pagină, coloană de text sau celulă de tabel exterioară dacă este un tabel imbricat.

Următorul exemplu de cod arată cum să setați tabelul să se potrivească automat la 50% din lățimea paginii:

Utilizarea proprietății CellFormat.PreferredWidth pe o anumită celulă va ajusta lățimea preferată.

Următorul exemplu de cod arată cum să setați diferitele setări de lățime preferate:

Găsiți tipul și valoarea lățimii preferate

Puteți utiliza proprietățile Type și Value pentru a găsi detaliile de lățime preferate ale tabelului sau celulei dorite.

Următorul exemplu de cod arată cum să recuperați tipul de lățime preferat al unei celule de tabel:

Cum să setați Autofit

Proprietatea AllowAutoFit permite celulelor dintr-un tabel să crească și să se micșoreze conform unui criteriu selectat. De exemplu, puteți utiliza opțiunea AutoFit to Window pentru a potrivi tabelul la lățimea paginii și opțiunea AutoFit to Content pentru a permite fiecărei celule să crească sau să se micșoreze în funcție de conținutul său.

În mod implicit, Aspose.Words introduce un nou tabel folosind AutoFit to Window. Tabelul va fi dimensionat în funcție de lățimea paginii disponibile. Pentru a redimensiona un tabel, puteți apela metoda AutoFit. Această metodă acceptă o enumerare AutoFitBehavior care specifică ce tip de autofit este aplicat tabelului.

Este important să știți că metoda autofit este de fapt o comandă rapidă care aplică proprietăți diferite tabelului în același timp. Acestea sunt proprietăți care dau de fapt tabelului comportamentul observat. Vom discuta aceste proprietăți pentru fiecare opțiune de autofit.

Următorul exemplu de cod arată cum să setați un tabel pentru a micșora sau crește fiecare celulă în funcție de conținutul său:

Vom folosi următorul tabel pentru a aplica diferitele setări de potrivire automată ca demonstrație.

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

AutoFit tabel la fereastră

Când autofitting la o fereastră este aplicat la un tabel, următoarele operații sunt de fapt efectuate în spatele scenei:

  1. Proprietatea Table.AllowAutoFit este activată pentru a redimensiona automat coloanele pentru a se potrivi conținutului disponibil, utilizând o valoare Table.PreferredWidth de 100%
  2. CellFormat.PreferredWidth este eliminat din toate celulele tabelului
  3. Lățimile coloanelor sunt recalculate pentru conținutul curent al tabelului-rezultatul final este un tabel care ocupă întreaga lățime disponibilă
  4. Lățimea coloanelor din tabel se modifică automat pe măsură ce utilizatorul editează textul

Următorul exemplu de cod arată cum se ajustează automat un tabel la lățimea paginii:

Un exemplu al modului în care aceste opțiuni sunt aplicate tabelului de mai sus poate fi văzut în imaginea de mai jos.

autofit-table-aspose-words-java

AutoFit tabel la conținut

Când tabelul este autofitted conținutul, următorii pași sunt de fapt efectuate în spatele scenei:

  1. Proprietatea Table.AllowAutoFit este activată pentru a redimensiona automat fiecare celulă în funcție de conținutul său

  2. Lățimea tabelului preferat este eliminată din Table.PreferredWidth, CellFormat.PreferredWidth este eliminată pentru fiecare celulă de tabel

  3. Lățimile coloanelor sunt recalculate pentru conținutul curent al tabelului-rezultatul final este un tabel în care lățimile coloanelor și lățimea întregului tabel sunt redimensionate automat pentru a se potrivi cel mai bine conținutului pe măsură ce utilizatorul editează textul

Următorul exemplu de cod arată cum să se adapteze automat un tabel la conținutul său:

Un exemplu al modului în care aceste opțiuni sunt aplicate tabelului de mai sus poate fi văzut în imaginea de mai jos.

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

Dezactivați AutoFit în tabel și utilizați lățimi fixe ale coloanelor

Dacă un tabel are autofit dezactivat și sunt utilizate lățimi fixe ale coloanelor, se efectuează următorii pași:

  1. Table.AllowAutoFit proprietatea este dezactivată, astfel încât coloanele să nu crească sau să se micșoreze la conținutul lor
  2. Lățimea preferată a întregului tabel este eliminată din Table.PreferredWidth, CellFormat.PreferredWidth este eliminată din toate celulele tabelului
  3. Rezultatul final este un tabel ale cărui lățimi de coloană sunt determinate de proprietatea CellFormat.Width și ale căror coloane nu sunt redimensionate automat atunci când utilizatorul introduce text sau când pagina este redimensionată

Următorul exemplu de cod arată cum să dezactivați autofit și să activați lățimea fixă pentru tabelul specificat:

Un exemplu al modului în care aceste opțiuni sunt aplicate tabelului de mai sus poate fi văzut în imaginea de mai jos.

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

Ordinea de prioritate la calcularea lățimii celulei

Aspose.Words permite utilizatorilor să definească lățimea unui tabel sau a unei celule prin mai multe obiecte, inclusiv CellFormat – proprietatea sa Width este în mare parte rămasă din versiunile anterioare, cu toate acestea, este încă utilă pentru simplificarea setării lățimii celulei.

Este important să știți că proprietatea CellFormat.Width funcționează diferit în funcție de care dintre celelalte proprietăți De lățime există deja în tabel.

Aspose.Words utilizează următoarea ordine pentru calcularea lățimilor celulelor:

Comandă Proprietate Descriere
AllowAutoFit este determinat Dacă AutoFit este activat:
- tabelul poate crește dincolo de lățimea preferată pentru a se potrivi conținutului-de obicei nu se micșorează sub lățimea preferată
- orice modificare a valorii CellFormat.Width este ignorată și celula se va potrivi conținutului său
PreferredWidthType cu o valoare de Points sau Percent CellFormat.Width este ignorat
PreferredWidthType cu o valoare de Auto Valoarea de la CellFormat.Width este copiată și devine lățimea preferată a celulei (în puncte)

Permiteți Spațierea Între Celule

Puteți obține sau seta orice spațiu suplimentar între celulele tabelului similar cu opțiunea “spațierea celulelor” din Microsoft Word. Acest lucru se poate face folosind proprietatea AllowCellSpacing.

Un exemplu despre modul în care aceste opțiuni sunt aplicate unui tabel real dintr-un document poate fi văzut în imaginea de mai jos.

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

Următorul exemplu de cod arată cum să setați spațiul dintre celule:

Aplicați margini și umbrire

Bordurile și umbrirea pot fi aplicate fie întregului tabel folosind Table.SetBorder, Table.SetBorders și Table.SetShading, fie numai celulelor specifice folosind CellFormat.Borders și CellFormat.Shading. În plus, marginile rândurilor pot fi setate folosind RowFormat.Borders, cu toate acestea umbrirea nu poate fi aplicată în acest fel.

Imaginile de mai jos Arată setările de margine și umbră în Microsoft Word și proprietățile lor corespunzătoare în Aspose.Words.

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

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

Următorul exemplu de cod arată cum să formatați un tabel și o celulă cu margini și nuanțe diferite: