Randen en arcering
Randen en arcering
Rand- en arceringsopmaak in Aspose.Words FOSS voor .NET is gemodelleerd door twee verwante attribuutklassen: Border, die een enkele randlijn beschrijft, en Shading, die een achtergrondvullingspatroon beschrijft. Alinea’s, tabellen, cellen en lettertypen geven elk een BorderCollection (meerdere Border zijden) en een enkel Shading object bloot via hun respectieve opmaak-eigenschappen.
Werken met individuele randen
Een Border object vertegenwoordigt één randlijn en geeft LineStyle (een enum-waarde uit LineStyle, zoals Single, Double, Dot of Wave), LineWidth, Color, DistanceFromText, Shadow, en thema-bewuste ThemeColor/TintAndShade eigenschappen vrij. Roep ClearFormatting() aan op een Border om deze terug te zetten naar de standaard (geen rand) status.
BorderCollection groepeert meerdere Border objecten voor de zijden van een object. Het biedt benoemde eigenschappen voor de vier randen — Left, Right, Top, Bottom — plus Horizontal en Vertical voor binnenste tabelranden. De BorderCollection indexer haalt een specifieke zijde op met een BorderType enum-waarde (Left, Right, Top, Bottom, Horizontal, Vertical, DiagonalDown, DiagonalUp of None) als sleutel. Het instellen van LineWidth, LineStyle of Color direct op de collectie past die waarde toe op elke rand die het bevat in één keer; ClearFormatting() wist alle randen in de collectie tegelijk.
Arcering toepassen
Shading bevat het achtergrondpatroon voor een object: BackgroundPatternColor en ForegroundPatternColor definiëren de twee patroonkleuren, en Texture (een TextureIndex enum-waarde) selecteert het patroon — solide vullingen gebruiken TextureIndex.TextureSolid, terwijl percentage- en richtingspatronen (Texture10Percent tot en met Texture97Pt5Percent, TextureHorizontal, TextureDiagonalCross en andere) de arceringsgalerij van Word nabootsen. ForegroundPatternThemeColor en BackgroundPatternThemeColor bieden thema-kleur equivalenten, naast tint/toning-aanpassing via ForegroundTintAndShade en BackgroundTintAndShade. ClearFormatting() zet een Shading object terug naar geen vulling.
Tips en best practices
- Stel
Texturein opTextureIndex.TextureSoliden gebruikBackgroundPatternColorvoor een effen achtergrondvulling — het meest voorkomende schaduwgeval. - Gebruik de
BorderCollectionindexer (borders[BorderType.Horizontal]/borders[BorderType.Vertical]) om de binnenste rasterlijnen van een tabel te bereiken, die niet als benoemde eigenschappen beschikbaar zijn. - Eigenschappen direct instellen op een
BorderCollection(in plaats van op een individueleLeft/Right/Top/BottomBorder) is de snelste manier om uniforme randen toe te passen op alle zijden. - Onthoud dat
LineStyle.Nonede zichtbare lijn verwijdert zonder de rest van de ingestelde breedte of kleur van de rand te wissen — gebruikClearFormatting()voor een volledige reset. - Tabelcel- en alinea-randen zijn onafhankelijke
BorderCollectioninstanties; het instellen van de ene beïnvloedt de andere niet.
Veelvoorkomende problemen
| Probleem | Oorzaak | Oplossing |
|---|---|---|
Rand niet zichtbaar na het instellen van Color | LineStyle gelaten op LineStyle.None | Stel LineStyle in op een zichtbare stijl, zoals Single, voordat u opslaat |
| Schaduw verschijnt als een effen vulling terwijl een patroon werd verwacht | Texture gelaten op de standaardwaarde | Stelt Texture expliciet in op de gewenste patroonconstante |
| Interne tabelranden blijven onaangetast door wijzigingen aan de randranden | Horizontal/Vertical staan los van Left/Right/Top/Bottom | Stel BorderCollection.Horizontal en .Vertical expliciet in |
BorderCollection indexer retourneert onverwachte rand | Verkeerde BorderType waarde doorgegeven | Bevestig dat de BorderType enum-waarde overeenkomt met de bedoelde zijde |
FAQ
Hoe pas ik dezelfde rand toe op alle vier de zijden van een tabelcel?
Stel LineStyle, LineWidth en Color rechtstreeks in op de BorderCollection van de cel in plaats van afzonderlijk op elk van Left, Right, Top en Bottom — de collection-level setters gelden voor elke rand die het bevat.
Wat is het verschil tussen Border en Shading?
Border beschrijft een lijn (stijl, breedte, kleur) die langs een rand wordt getekend; Shading beschrijft een achtergrondvulpatroon achter de inhoud. Ze zijn onafhankelijk — een object kan schaduw hebben zonder randen, of randen zonder schaduw.
Welke enum regelt het visuele lijnpatroon van een rand?
LineStyle, met waarden zoals Single, Double, Dot, DashSmallGap en Wave.
Kan ik een rand volledig verwijderen?
Ja — roep ClearFormatting() aan op de Border of BorderCollection, of stel LineStyle in op LineStyle.None.
API Reference Samenvatting
| Klasse / Methode | Beschrijving |
|---|---|
Border | Een enkele randlijn: stijl, breedte, kleur, schaduw |
BorderCollection | De set van randen (Left, Right, Top, Bottom, Horizontal, Vertical) voor een object |
BorderType | Enum die een randzijde identificeert |
LineStyle | Enum van visuele lijnstijlen (Single, Double, Dot, etc.) |
Shading | Achtergrondpatroonvulling: kleuren en Texture |
TextureIndex | Enum van schaduwpatroontexturen |