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 de opmaak in te stellen.
In dit artikel zullen we bespreken hoe formatteren toe te passen op verschillende tabelknooppunten en welke tabelopmaakinstellingen Aspose.Words steun.
Formatteren toepassen op verschillende nodes
In deze sectie zullen we kijken naar het toepassen van formattering op verschillende tabelknooppunten.
Tabelniveauopmaak
Om opmaak toe te passen op een tabel, kunt u de beschikbare eigenschappen gebruiken op de overeenkomstige Table knooppunt met behulp van de Table, PreferredWidth, en TableCollection lessen.
De foto’s hieronder tonen een voorstelling van de Table formatteren functies in Microsoft Word en de overeenkomstige eigenschappen in Aspose.Words.
Het volgende voorbeeld van code laat zien hoe je een omtrekrand op een tabel kunt toepassen:
Het volgende voorbeeld van code laat zien hoe een tabel te bouwen met alle randen ingeschakeld (raster):
Rijniveauopmaak
Rijen formatteren kan worden gecontroleerd met behulp van de Row, RowFormat, en RowCollection lessen.
De foto’s hieronder tonen een voorstelling van de Row formatteren functies in Microsoft Word en de overeenkomstige eigenschappen in Aspose.Words.
Het volgende voorbeeld van code laat zien hoe de tabel rij opmaak te wijzigen:
Celniveau-indeling
Cell-level opmaak wordt gecontroleerd door de Cell, CellFormat, en CellCollection lessen.
Merk op dat een Cell kan alleen een kind knoop van een Row. Tegelijkertijd moet er tenminste één Paragraph in de Cell zodat formatteren kan worden toegepast.
Naast de Paragraph, u kunt ook een Table in een Cell.
De foto’s hieronder tonen een voorstelling van de Cell formatteren functies in Microsoft Word en de overeenkomstige eigenschappen in Aspose.Words.
Het volgende voorbeeld van code laat zien hoe je 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:
Rijhoogtes opgeven
De eenvoudigste manier om de rijhoogte in te stellen is door de DocumentBuilder. Gebruik van de juiste RowFormat eigenschappen, kunt u de standaard hoogte instellen of een andere hoogte toepassen 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, zodat u de tabelinstellingen breed kunt 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 te weten dat tabelelementen verschillende eigenschappen hebben die van invloed kunnen zijn op de berekening van de breedtes van de totale tabel, evenals individuele cellen:
- Voorkeursbreedte op tafel
- Voorkeursbreedte op individuele cellen
- Automatisering op tafel toestaan
Dit artikel geeft aan hoe de verschillende tabelbreedte berekening eigenschappen werken en hoe u volledige controle over tabelbreedte berekening te krijgen. Dit is bijzonder 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 methode voor het specificeren van de auto of de gewenste breedte
- 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 de 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 herrekent 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 aan 50% van de paginabreedte:
Gebruik van de CellFormat.PreferredWidth eigenschap op een bepaalde cel zal de gewenste breedte 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 in 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 Een opsomming 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 toe te passen 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 codevoorbeeld laat zien hoe je een tabel instelt om elke cel te krimpen of te laten groeien volgens de inhoud:
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 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 enigszins verschilt van de Microsoft Word gedrag, waarbij de voorkeursbreedte van elke cel wordt 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:
Tabel automatisch aanpassen aan inhoud
Wanneer de tabel automatisch wordt 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 verlagen 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 kolombreedten en de breedte van de gehele tabel automatisch worden aangepast zodat de inhoud het beste bij de gebruiker past
Het volgende voorbeeld van code laat zien hoe u een tabel automatisch op de inhoud kunt plaatsen:
Automatisch aanpassen in tabel uitschakelen en vaste kolombreedtes gebruiken
Als een tabel autofit heeft 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 autofit kan worden uitgeschakeld en de vaste breedte voor de opgegeven tabel kan worden ingeschakeld:
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 nuttig 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 in plaats daarvan bij de inhoud |
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 schaduw toepassen
Grenzen en schaduw 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 RowFormat.Borders, maar schaduw kan niet op deze manier worden toegepast.
De afbeeldingen hieronder tonen de rand en schaduw instellingen in Microsoft Word en de overeenkomstige eigenschappen in Aspose.Words.
Het volgende voorbeeld van code laat zien hoe een tabel en cel met verschillende randen en schaduwen te formatteren: