Opmaak Toepassen
Elk element van een tabel kan met verschillende opmaak worden toegepast. Tabelopmaak wordt bijvoorbeeld toegepast op de hele tabel, rijopmaak op alleen bepaalde rijen en celopmaak op alleen bepaalde cellen.
Aspose.Words biedt een rijke API om opmaak op te halen en toe te passen op een tabel. U kunt de knooppunten Table, RowFormat en CellFormat gebruiken om de opmaak in te stellen.
In dit artikel zullen we het hebben over het toepassen van opmaak op verschillende tabelknooppunten en welke tabelopmaakinstellingen Aspose.Words ondersteunt.
Opmaak toepassen op verschillende knooppunten
In deze sectie zullen we kijken naar het toepassen van opmaak op verschillende tabelknooppunten.
Opmaak Op Tabelniveau
Als u opmaak wilt toepassen op een tabel, kunt u de eigenschappen gebruiken die beschikbaar zijn op het corresponderende knooppunt Table met de klassen Table, PreferredWidth en TableCollection.
De onderstaande afbeeldingen tonen een weergave van de Table opmaakfuncties in Microsoft Word en hun overeenkomstige eigenschappen in Aspose.Words.
Het volgende codevoorbeeld laat zien hoe u een overzichtskader toepast op een tabel:
Het volgende codevoorbeeld laat zien hoe u een tabel bouwt met alle randen ingeschakeld (raster):
Opmaak Op Rijniveau
Rij-niveau
De onderstaande afbeeldingen tonen een weergave van de Row opmaakfuncties in Microsoft Word en hun overeenkomstige eigenschappen in Aspose.Words.
Het volgende codevoorbeeld laat zien hoe u de opmaak van de tabelrij kunt wijzigen:
Opmaak Op Celniveau
Opmaak op celniveau wordt geregeld door de klassen Cell, CellFormat en CellCollection.
Merk op dat een Cell alleen een kindknoop van een Row kan zijn. Tegelijkertijd moet er ten minste één Paragraph in de Cell staan, zodat opmaak erop kan worden toegepast.
Naast de Paragraph kunt u ook een Table invoegen in een Cell.
De onderstaande afbeeldingen tonen een weergave van de Cell opmaakfuncties in Microsoft Word en hun overeenkomstige eigenschappen in Aspose.Words.
Het volgende codevoorbeeld laat zien hoe u de opmaak van een tabelcel kunt wijzigen:
Het volgende codevoorbeeld laat zien hoe u de hoeveelheid ruimte (in punten) kunt instellen om toe te voegen aan de linker/boven/rechts/onderkant van de inhoud van de cel:
Rijhoogtes Opgeven
De eenvoudigste manier om de rijhoogte in te stellen is door de DocumentBuilder te gebruiken. Met behulp van de juiste eigenschappen van RowFormat kunt u de standaardhoogte instellen of een andere hoogte toepassen voor elke rij in de tabel.
In Aspose.Words wordt de rijhoogte van de tabel bepaald door:
- de rijhoogte eigenschap - Height
- de eigenschap hoogteregel voor de gegeven rij - HeightRule
Tegelijkertijd kan voor elke rij een andere hoogte worden ingesteld – Hiermee kunt u de tafelinstellingen op grote schaal regelen.
Het volgende codevoorbeeld laat zien hoe u een tabel maakt die een enkele cel bevat en rijopmaak toepast:
Tabel-en Celbreedtes opgeven
Een tabel in een Microsoft Word - document biedt verschillende manieren om de grootte van de tabel en afzonderlijke cellen te wijzigen. Deze eigenschappen maken een aanzienlijke controle mogelijk over het uiterlijk en het gedrag van de tabel, zodat Aspose.Words het gedrag van tabellen ondersteunt, zoals in Microsoft Word.
Het is belangrijk om te weten dat tabelelementen verschillende eigenschappen hebben die van invloed kunnen zijn op de manier waarop de breedtes van de totale tabel, evenals individuele cellen, worden berekend:
- Gewenste breedte op tafel
- Gewenste breedte op individuele cellen
- Autofit op tafel toestaan
In dit artikel wordt beschreven hoe de verschillende eigenschappen voor de berekening van de tabelbreedte werken en hoe u volledige controle krijgt over de berekening van de tabelbreedte. Dit is vooral handig om te weten in gevallen waarin de tabelindeling niet wordt weergegeven zoals verwacht.
In de meeste gevallen wordt de voorkeurscel aanbevolen dan de tabelbreedte. De gewenste celbreedte komt meer overeen met de DOCX - opmaakspecificatie en het Aspose.Words - model.
De celbreedte is eigenlijk een berekende waarde voor de indeling DOCX. De werkelijke celbreedte kan van veel dingen afhangen. Het wijzigen van de paginamarges of de gewenste tabelbreedte kan bijvoorbeeld van invloed zijn op de werkelijke celbreedte.
De gewenste celbreedte is een celeigenschap die is opgeslagen in het document. Het is nergens afhankelijk van en verandert niet wanneer u de tabel of andere eigenschappen van de cel wijzigt.
Hoe de Voorkeursbreedte te gebruiken
De gewenste breedte van een tabel of afzonderlijke cellen wordt gedefinieerd door de eigenschap voorkeursbreedte, de grootte die een element probeert te passen. Dat wil zeggen, de voorkeursbreedte kan worden opgegeven voor de hele tabel of voor afzonderlijke cellen. In sommige situaties is het misschien niet mogelijk om deze breedte precies te passen, maar de werkelijke breedte zal in de meeste gevallen dicht bij deze waarde liggen.
Het gewenste breedtetype en de gewenste waarde worden ingesteld met behulp van de methoden van de klasse PreferredWidth:
- de Auto methode om auto of “geen voorkeursbreedte"op te geven
- de methode FromPercent om een percentagebreedte op te geven
- de methode FromPoints om de breedte in punten op te geven
De onderstaande afbeeldingen tonen een weergave van de preferred width setting features in Microsoft Word en hun overeenkomstige eigenschappen in Aspose.Words.
Een voorbeeld van hoe deze opties worden toegepast op een echte tabel in een document is te zien in de onderstaande afbeelding.
Geef de gewenste tabel of celbreedte op
In Aspose.Words worden tabel - en celbreedtes ingesteld met behulp van de Eigenschap Table.PreferredWidth en de eigenschap CellFormat.PreferredWidth, met opties beschikbaar in de opsomming van PreferredWidthType:
- Auto, wat gelijk is aan geen voorkeursbreedte set
- Percent, dat past bij het element ten opzichte van de beschikbare ruimte in het venster of de containergrootte en de waarde opnieuw berekent wanneer de beschikbare breedte verandert
- Points, wat overeenkomt met een element van de opgegeven breedte in punten
Met behulp van de eigenschap Table.PreferredWidth wordt de gewenste breedte aangepast ten opzichte van de container: pagina, tekstkolom of buitenste tabelcel als het een geneste tabel is.
Het volgende codevoorbeeld laat zien hoe u de tabel instelt op 50% van de paginabreedte:
Met behulp van de eigenschap CellFormat.PreferredWidth op een bepaalde cel wordt de gewenste breedte aangepast.
Het volgende codevoorbeeld laat zien hoe u de verschillende voorkeursbreedte-instellingen instelt:
Zoek het gewenste Breedtetype en de gewenste waarde
U kunt de eigenschappen Type en Value gebruiken om de gewenste breedtedetails van de gewenste tabel of cel te vinden.
Het volgende codevoorbeeld toont hoe u het gewenste breedtetype van een tabelcel kunt ophalen:
Hoe Autofit in te stellen
Met de eigenschap AllowAutoFit kunnen cellen in een tabel groeien en krimpen volgens een geselecteerd criterium. U kunt bijvoorbeeld de optie AutoFit to Window gebruiken om de tabel aan te passen aan de breedte van de pagina en de optie AutoFit to Content om elke cel te laten groeien of krimpen op basis van de inhoud.
Standaard voegt Aspose.Words een nieuwe tabel in met AutoFit to Window. De tabel wordt op maat gemaakt volgens de beschikbare paginabreedte. Als u het formaat van een tabel wilt wijzigen, kunt u de methode AutoFit aanroepen. Deze methode accepteert een AutoFitBehavior - opsomming die aangeeft welk type autofit op de tabel wordt toegepast.
Het is belangrijk om te weten dat de autofit-methode eigenlijk een snelkoppeling is die tegelijkertijd verschillende eigenschappen op de tabel toepast. Dit zijn eigenschappen die de tabel het waargenomen gedrag geven. We zullen deze eigenschappen bespreken voor elke autofit-optie.
Het volgende codevoorbeeld laat zien hoe een tabel moet worden opgesteld om elke cel te krimpen of te laten groeien volgens de inhoud ervan:
AutoFit tabel naar Venster
Wanneer autofitting naar een venster op een tabel wordt toegepast, worden de volgende bewerkingen achter de schermen uitgevoerd:
- De eigenschap Table.AllowAutoFit is ingeschakeld om automatisch de grootte van kolommen aan te passen aan de beschikbare inhoud, met een Table.PreferredWidth waarde van 100%
- CellFormat.PreferredWidth wordt verwijderd uit alle tabelcellen
Merk op dat dit enigszins afwijkt van het gedrag Microsoft Word, waarbij de gewenste breedte van elke cel is ingesteld op de juiste waarden op basis van hun huidige grootte en inhoud. Aspose.Words werkt de gewenste breedte niet bij, zodat ze in plaats daarvan gewoon worden gewist.
- Kolombreedtes worden herberekend voor de huidige tabelinhoud - het eindresultaat is een tabel die de volledige beschikbare breedte beslaat
- De breedte van de kolommen in de tabel verandert automatisch als de gebruiker de tekst bewerkt
Het volgende codevoorbeeld laat zien hoe u een tabel automatisch kunt koppelen aan de paginabreedte:
AutoFit tabel naar inhoud
Wanneer de tabel automatisch de inhoud bevat, worden de volgende stappen achter de schermen uitgevoerd:
-
De eigenschap Table.AllowAutoFit is ingeschakeld om de grootte van elke cel automatisch aan te passen aan de inhoud ervan
-
De gewenste tabelbreedte wordt verwijderd uit Table.PreferredWidth, CellFormat.PreferredWidth wordt verwijderd voor elke tabelcel
Merk op dat deze optie Automatisch aanpassen de gewenste breedte uit cellen verwijdert, net als in Microsoft Word. Als u de kolomgrootte wilt behouden en de kolommen wilt vergroten of verkleinen om aan de inhoud te voldoen, moet u de eigenschap Table.AllowAutoFit op zichzelf instellen op True in plaats van de snelkoppeling automatisch instellen. -
Kolombreedtes worden opnieuw berekend voor de huidige tabelinhoud – het eindresultaat is een tabel waarin de kolombreedtes en de breedte van de hele tabel automatisch worden aangepast om het beste bij de inhoud te passen terwijl de gebruiker de tekst bewerkt
Het volgende codevoorbeeld laat zien hoe u een tabel automatisch kunt koppelen aan de inhoud ervan:
Schakel AutoFit uit in tabel en gebruik Vaste kolombreedtes
Als een tabel autofit heeft uitgeschakeld en in plaats daarvan vaste kolombreedtes worden gebruikt, worden de volgende stappen uitgevoerd:
- Eigenschap Table.AllowAutoFit is uitgeschakeld zodat kolommen niet groeien of krimpen tot hun inhoud
- De gewenste breedte van de hele tabel wordt verwijderd uit Table.PreferredWidth, CellFormat.PreferredWidth wordt verwijderd uit alle tabelcellen
- Het eindresultaat is een tabel waarvan de kolombreedtes worden bepaald door de eigenschap CellFormat.Width en waarvan de kolommen niet automatisch worden aangepast wanneer de gebruiker tekst invoert of wanneer de pagina wordt aangepast
Het volgende codevoorbeeld laat zien hoe autofit uit te schakelen en vaste breedte in te schakelen voor de opgegeven tabel:
Volgorde van voorrang bij het berekenen van de celbreedte
Aspose.Words stelt gebruikers in staat om de breedte van een tabel of cel te definiëren via meerdere objecten, waaronder CellFormat – de eigenschap Width is grotendeels overgebleven van eerdere versies, maar het is nog steeds nuttig voor het vereenvoudigen van het instellen van de celbreedte.
Het is belangrijk om te weten dat de eigenschap CellFormat.Width anders werkt, afhankelijk van welke van de andere breedte-eigenschappen al in de tabel bestaan.
Aspose.Words gebruikt de volgende volgorde voor het berekenen van celbreedtes:
Bestelling | Eigenschap | Beschrijving |
---|---|---|
AllowAutoFit is bepaald | Als AutoFit is ingeschakeld: - de tabel kan voorbij de gewenste breedte groeien om de inhoud te accommoderen-deze krimpt meestal niet onder de gewenste breedte - elke wijziging in de waarde CellFormat.Width wordt genegeerd en de cel past in plaats daarvan op de inhoud |
|
PreferredWidthType met een waarde van Points of Percent | CellFormat.Width wordt genegeerd | |
PreferredWidthType met een waarde van Auto | De waarde van CellFormat.Width wordt gekopieerd en wordt de gewenste breedte van de cel (in punten) |
Ruimte Tussen Cellen Toestaan
U kunt extra ruimte tussen tabelcellen krijgen of instellen, vergelijkbaar met de optie” Celafstand " in Microsoft Word. Dit kan gedaan worden met de eigenschap AllowCellSpacing.
Een voorbeeld van hoe deze opties worden toegepast op een echte tabel in een document is te zien in de onderstaande afbeelding.
Het volgende codevoorbeeld laat zien hoe u de afstand tussen cellen instelt:
Grenzen en schaduw toepassen
Randen en schaduw kunnen worden toegepast op de hele tabel met behulp van Table.SetBorder, Table.SetBorders en Table.SetShading, of alleen op specifieke cellen met behulp van CellFormat.Borders en CellFormat.Shading. Bovendien kunnen rijgrenzen worden ingesteld met behulp van RowFormat.Borders, maar schaduw kan niet op deze manier worden toegepast.
De onderstaande afbeeldingen tonen de rand - en Schaduwinstellingen in Microsoft Word en de bijbehorende eigenschappen in Aspose.Words.
Het volgende codevoorbeeld laat zien hoe u een tabel en cel met verschillende randen en schaduwen kunt opmaken: