Tabelopmaak toepassen
Elk element van een tabel kan met verschillende opmaak worden toegepast. Bijvoorbeeld, tabelopmaak zal worden toegepast op de hele tabel, rij opmaak op slechts bepaalde rijen, celopmaak op slechts bepaalde cellen.
Aspose.Words levert een rijk API ophalen en toepassen op een tabel. U kunt de Table, RowFormat, en CellFormat knooppunten om opmaak in te stellen.
In dit artikel, zullen we praten over hoe je formatteren toe te passen op verschillende tabel knooppunten en welke tabel formattering instellingen Aspose.Words steun.
Formatteren toepassen op verschillende knooppunten
In deze sectie zullen we kijken naar het toepassen van opmaak op verschillende tabelknooppunten.
Tabelniveauopmaak
Om opmaak toe te passen op een tabel kunt u de beschikbare eigenschappen op de overeenkomstige Table knooppunt met behulp van de Table, PreferredWidth, en TableCollection lessen.
De foto’s hieronder tonen een voorstelling van de Table opmaakfuncties in Microsoft Word en hun overeenkomstige eigenschappen in Aspose.Words.
Het volgende voorbeeld van een code laat zien hoe een omtrekrand op een tabel kan worden toegepast:
Het volgende voorbeeld van code laat zien hoe je een tabel kunt bouwen met alle randen ingeschakeld (raster):
Opmaak van rijniveau
Rij-niveau** formatteren kan worden gecontroleerd met behulp van de Row, RowFormat, en RowCollection lessen.
De foto’s hieronder tonen een voorstelling van de Row opmaakfuncties in Microsoft Word en hun overeenkomstige eigenschappen in Aspose.Words.
Het volgende voorbeeld van code laat zien hoe u de tabelrij formattering kunt wijzigen:
Opmaak celniveau
Cell-level opmaak wordt gecontroleerd door de Cell, CellFormat, en CellCollection lessen.
Merk op dat een Cell kan alleen een kind knooppunt van een Row. Tegelijkertijd moet er tenminste één Paragraph in de Cell zodat opmaak kan worden toegepast.
Naast de Paragraph, u kunt ook een Table in een Cell.
De foto’s hieronder tonen een voorstelling van de Cell opmaakfuncties in Microsoft Word en hun overeenkomstige eigenschappen in Aspose.Words.
Het volgende voorbeeld van code laat zien hoe u de opmaak van een tabelcel kunt wijzigen:
Het volgende voorbeeld van code laat zien hoe u de hoeveelheid ruimte (in punten) kunt instellen die aan de linker/boven/rechts/onderkant van de cel moet worden toegevoegd:
Rijhoogten specificeren
De eenvoudigste manier om de rijhoogte in te stellen is de DocumentBuilder. Gebruik van de juiste RowFormat eigenschappen, kunt u de standaard hoogte instellen of toepassen een andere hoogte voor elke rij in de tabel.
In Aspose.Words, de hoogte van de tabelrij wordt bepaald door:
- de rij hoogte eigenschap Height
- de hoogte regel eigenschap voor de gegeven rij HeightRule
Tegelijkertijd kan voor elke rij een andere hoogte worden ingesteld. Dit stelt u in staat om de tabelinstellingen wijd te controleren.
Het volgende voorbeeld van code laat zien hoe je een tabel maakt die één cel bevat en rijopmaak toepast:
Tabel- en celbreedtes specificeren
Een tabel in een Microsoft Word document biedt verschillende manieren om de tabel en individuele cellen te wijzigen. Deze eigenschappen kunnen aanzienlijke controle over het uiterlijk en gedrag van de tafel, zodat Aspose.Words ondersteunt het gedrag van tabellen, zoals in Microsoft Word.
Het is belangrijk om te weten dat tabelelementen verschillende eigenschappen vertonen die van invloed kunnen zijn op de wijze waarop de breedtes van de totale tabel, evenals individuele cellen, worden berekend:
- Voorkeursbreedte op de tafel
- Voorkeursbreedte op individuele cellen
- Automatisch op de tafel laten passen
Dit artikel geeft aan hoe de verschillende tabelbreedte berekening eigenschappen werken en hoe u volledige controle over de tabelbreedte berekening te krijgen. Dit is vooral nuttig om te weten wanneer de tabelindeling niet zoals verwacht lijkt.
In de meeste gevallen wordt de voorkeurscel aanbevolen dan de tafelbreedte. De voorkeur celbreedte is meer in overeenstemming met de DOCX-formaat specificatie en de Aspose.Words model.
De celbreedte is eigenlijk een berekende waarde voor het DOCX-formaat. De werkelijke celbreedte kan van veel dingen afhangen. Bijvoorbeeld, het veranderen van de paginaranden of de voorkeurstabelbreedte kan de werkelijke celbreedte beïnvloeden.
De gewenste celbreedte is een celeigenschap die in het document wordt opgeslagen. Het hangt nergens van af en verandert niet wanneer u de tabel of andere eigenschappen van de cel verandert.
Hoe wordt voorkeursbreedte gebruikt
De gewenste breedte van een tabel of individuele cellen wordt gedefinieerd door de voorkeursbreedte eigenschap, dat is de grootte die een element streeft te passen. Dat wil zeggen, de voorkeursbreedte kan worden gespecificeerd voor de gehele tabel of voor individuele 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 zijn.
De juiste voorkeursbreedte type en waarde worden ingesteld met behulp van de methoden van de PreferredWidth klasse:
- de Auto veld om de auto of de gewenste breedte te specificeren
- de FromPercent methode om een percentagebreedte op te geven
- de FromPoints methode om de breedte in punten te specificeren
De afbeeldingen hieronder tonen een weergave van de * voorkeursbreedte instelling functies* 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 onderstaande afbeelding.
Geef de voorkeurstabel of celbreedte
In Aspose.Words, tafel en cel breedtes zijn ingesteld met behulp van de Table.PreferredWidth de CellFormat.PreferredWidth eigendom, met opties beschikbaar in de PreferredWidthType Lijst:
- Auto, die gelijk is aan geen voorkeursbreedte ingesteld
- Percent, die past bij het element ten opzichte van de beschikbare ruimte in het venster of containergrootte, en herberekent de waarde wanneer de beschikbare breedte verandert
- Points, die overeenkomt met een element van de opgegeven breedte in punten
Gebruik van de Table.PreferredWidth eigenschap zal zijn voorkeursbreedte ten opzichte van de container aanpassen: pagina, tekst kolom, of buitenste tabel cel als het een geneste tabel.
Het volgende voorbeeld van code laat zien hoe u de tabel automatisch kunt aanpassen tot 50% van de paginabreedte:
Gebruik van de CellFormat.PreferredWidth eigenschap op een bepaalde cel zal zijn voorkeursbreedte aanpassen.
Het volgende voorbeeld van code laat zien hoe u de verschillende voorkeursbreedte instellingen kunt instellen:
Voorkeursbreedte type en waarde zoeken
U kunt de Type en Value eigenschappen om de gewenste breedte details van de gewenste tabel of cel te vinden.
Het volgende voorbeeld van code laat zien hoe u het gewenste breedtetype van een tabelcel kunt ophalen:
Automatisch instellen
De AllowAutoFit eigenschap laat cellen in een tabel groeien en krimpen volgens een geselecteerd criterium. U kunt bijvoorbeeld de Automatisch aanpassen aan venster optie om de tabel aan de breedte van de pagina, en de Automatisch aanpassen aan inhoud optie om elke cel te laten groeien of krimpen volgens de inhoud.
Standaard, Aspose.Words voegt een nieuwe tabel toe met Automatisch aanpassen aan venster. De tabel wordt aangepast aan de beschikbare paginabreedte. Om de grootte van een tafel te wijzigen, kunt u de AutoFit methode. Deze methode accepteert een AutoFitBehavior Lijst die aangeeft welk type autofit op de tabel wordt toegepast.
Het is belangrijk om te weten dat de autofit methode is eigenlijk een snelkoppeling die verschillende eigenschappen van toepassing is op de tabel op hetzelfde moment. Dit zijn eigenschappen die de tabel het waargenomen gedrag geven. We zullen deze eigenschappen bespreken voor elke autofit optie.
Het volgende code voorbeeld laat zien hoe je een tabel instelt om elke cel te krimpen of te laten groeien volgens de inhoud:
We zullen de volgende tabel gebruiken om de verschillende auto fit instellingen als demonstratie toe te passen.
Tabel automatisch aanpassen aan venster
Wanneer het automatisch aanpassen van een venster wordt toegepast op een tabel, worden de volgende bewerkingen uitgevoerd achter de schermen:
- De Table.AllowAutoFit eigenschap is ingeschakeld om de grootte van kolommen automatisch te wijzigen om aan de beschikbare inhoud te passen, met behulp van een Table.PreferredWidth waarde van 100%
- CellFormat.PreferredWidth wordt verwijderd uit alle tabelcellen
Merk op dat dit iets anders is dan de Microsoft Word gedrag, waarbij de voorkeursbreedte van elke cel is ingesteld op geschikte waarden op basis van hun huidige grootte en inhoud. Aspose.Words werkt de gewenste breedte niet bij, zodat ze gewoon worden gewist in plaats daarvan.
- Kolombreedten worden in mindering gebracht voor de huidige tabelinhoud Het eindresultaat is een tabel die de gehele beschikbare breedte beslaat
- De breedte van de kolommen in de tabel verandert automatisch als de gebruiker de tekst bewerkt
Het volgende voorbeeld van code laat zien hoe u een tabel automatisch aan de paginabreedte kunt aanpassen:
Een voorbeeld van hoe deze opties worden toegepast op de bovenstaande tabel is te zien in de afbeelding hieronder.
Tabel automatisch aanpassen aan inhoud
Wanneer de tabel automatisch is aangepast, worden de volgende stappen achter de schermen uitgevoerd:
-
De Table.AllowAutoFit eigenschap is ingeschakeld om elke cel automatisch te wijzigen volgens de inhoud
-
De voorkeurstabelbreedte wordt verwijderd uit Table.PreferredWidth, CellFormat.PreferredWidth wordt verwijderd voor elke tabelcel
Merk op dat deze autofit optie verwijdert de gewenste breedte van cellen, net als in Microsoft Word. Als u de kolomgroottes wilt behouden en de kolommen wilt verhogen of verkleinen om de inhoud te passen, moet u de Table.AllowAutoFit eigendom aan True op zichzelf in plaats van het gebruik van de autofit snelkoppeling. -
Kolombreedten worden in mindering gebracht voor de huidige tabelinhoud: het eindresultaat is een tabel waarin de kolombreedtes en de breedte van de gehele tabel automatisch worden aangepast zodat de inhoud het beste past als de gebruiker de tekst bewerkt
Het volgende voorbeeld van code laat zien hoe u een tabel automatisch op de inhoud kunt monteren:
Een voorbeeld van hoe deze opties worden toegepast op de bovenstaande tabel is te zien in de afbeelding hieronder.
Automatisch aanpassen in tabel uitschakelen en vaste kolombreedtes gebruiken
Als een tabel autofit is uitgeschakeld en vaste kolombreedtes worden gebruikt, worden de volgende stappen uitgevoerd:
- Table.AllowAutoFit eigenschap is uitgeschakeld zodat kolommen niet groeien of krimpen naar hun inhoud
- De voorkeursbreedte van de gehele tabel wordt verwijderd uit Table.PreferredWidth, CellFormat.PreferredWidth wordt verwijderd uit alle tabelcellen
- Het eindresultaat is een tabel waarvan de kolombreedte wordt bepaald door de CellFormat.Width eigenschap, en waarvan de kolommen niet automatisch worden verkleind wanneer de gebruiker tekst invoert of wanneer de pagina wordt aangepast
Het volgende voorbeeld van code laat zien hoe u autofit kunt uitschakelen en vaste breedte voor de opgegeven tabel kunt inschakelen:
Een voorbeeld van hoe deze opties worden toegepast op de bovenstaande tabel is te zien in de afbeelding hieronder.
Volgorde van precedence bij het berekenen van celbreedte
Aspose.Words stelt gebruikers in staat om de breedte van een tabel of cel te definiëren via meerdere objecten, waaronder CellFormat De Width eigenschap is meestal overgebleven van eerdere versies, maar het is nog steeds handig voor het vereenvoudigen van het instellen van de celbreedte.
Het is belangrijk te weten dat de CellFormat.Width eigenschap werkt anders afhankelijk van welke van de andere breedte eigenschappen al bestaan in de tabel.
Aspose.Words gebruikt de volgende volgorde voor het berekenen van celbreedtes:
Beschikking | Eigenschap | Omschrijving |
---|---|---|
1 | AllowAutoFit wordt bepaald | Als AutoFit is ingeschakeld: - de tabel kan verder groeien dan de gewenste breedte om de inhoud te kunnen verwerken. - elke wijziging in de CellFormat.Width waarde wordt genegeerd en de cel past op de inhoud in plaats daarvan |
2 | PreferredWidthType met een waarde van Points of Percent | CellFormat.Width wordt genegeerd |
3 | PreferredWidthType met een waarde van Auto | De waarde van CellFormat.Width wordt gekopieerd en wordt de voorkeursbreedte van de cel (in punten) |
Spatiëring tussen cellen toestaan
U kunt extra ruimte tussen tafelcellen krijgen of instellen, vergelijkbaar met de optie “Сell space” in Microsoft Word. Dit kan met behulp van de AllowCellSpacing eigendom.
Een voorbeeld van hoe deze opties worden toegepast op een echte tabel in een document is te zien in onderstaande afbeelding.
Het volgende voorbeeld van code laat zien hoe je de afstand tussen cellen kunt instellen:
Randen en schaduwen toepassen
Grenzen en schaduwen kunnen worden aangebracht op de gehele tabel met behulp van Table.SetBorder, Table.SetBorders en Table.SetShading, of alleen naar specifieke cellen met behulp van CellFormat.Borders en CellFormat.Shading. Bovendien kunnen rijranden worden ingesteld met behulp van RowFormat.Borders, maar schaduw kan niet op deze manier worden toegepast.
De afbeeldingen hieronder tonen de rand en schaduw instellingen in Microsoft Word en hun overeenkomstige eigenschappen in Aspose.Words.
Het volgende voorbeeld van code laat zien hoe een tabel en cel met verschillende randen en schaduwen te formatteren: