Rahmen und Schattierung

Ränder und Schattierung

Die Rahmen- und Schattierungsformatierung in Aspose.Words FOSS für .NET wird durch zwei verwandte Attributklassen modelliert: Border, die eine einzelne Rahmenlinie beschreibt, und Shading, die ein Hintergrundfüllmuster beschreibt. Absätze, Tabellen, Zellen und Schriftarten stellen jeweils ein BorderCollection (mehrere Border Seiten) und ein einzelnes Shading-Objekt über ihre jeweiligen Formatierungseigenschaften bereit.


Arbeiten mit einzelnen Rahmen

Ein Border-Objekt stellt eine Rahmenlinie dar und stellt LineStyle (einen Enum-Wert aus LineStyle, z.B. Single, Double, Dot oder Wave), LineWidth, Color, DistanceFromText, Shadow sowie themenabhängige ThemeColor/TintAndShade-Eigenschaften bereit. Rufen Sie ClearFormatting() auf einem Border auf, um ihn auf den Standardzustand (kein Rahmen) zurückzusetzen.

BorderCollection gruppiert mehrere Border-Objekte für die Seiten eines Objekts. Es stellt benannte Eigenschaften für die vier Kanten – Left, Right, Top, Bottom – sowie Horizontal und Vertical für innere Tabellenrahmen bereit. Der BorderCollection-Indexer ruft eine bestimmte Seite mit einem BorderType-Enum-Wert (Left, Right, Top, Bottom, Horizontal, Vertical, DiagonalDown, DiagonalUp oder None) als Schlüssel ab. Das Setzen von LineWidth, LineStyle oder Color direkt auf der Sammlung wendet diesen Wert gleichzeitig auf alle enthaltenen Rahmen an; ClearFormatting() löscht alle Rahmen in der Sammlung zusammen.


Schattierung anwenden

Shading enthält das Hintergrundmuster für ein Objekt: BackgroundPatternColor und ForegroundPatternColor definieren die beiden Musterfarben, und Texture (ein TextureIndex-Enum-Wert) wählt das Muster aus – feste Füllungen verwenden TextureIndex.TextureSolid, während Prozent- und Richtungsmuster (Texture10Percent bis Texture97Pt5Percent, TextureHorizontal, TextureDiagonalCross und weitere) die Word-Schattierungsgalerie nachbilden. ForegroundPatternThemeColor und BackgroundPatternThemeColor bieten themenfarbene Entsprechungen, zusammen mit Tint-/Shade-Anpassungen über ForegroundTintAndShade und BackgroundTintAndShade. ClearFormatting() setzt ein Shading-Objekt auf keine Füllung zurück.


Tipps und bewährte Verfahren

  • Setze Texture auf TextureIndex.TextureSolid und verwende BackgroundPatternColor für eine einfarbige Hintergrundfüllung — der häufigste Schattierungsfall.
  • Verwende den BorderCollection Indexer (borders[BorderType.Horizontal] / borders[BorderType.Vertical]), um die inneren Gitternetzlinien einer Tabelle zu erreichen, die nicht als benannte Eigenschaften bereitgestellt werden.
  • Das Setzen von Eigenschaften direkt auf einem BorderCollection (statt auf einem einzelnen Left/Right/Top/Bottom Border) ist der schnellste Weg, einheitliche Rahmen an allen Seiten anzuwenden.
  • Denke daran, dass LineStyle.None die sichtbare Linie entfernt, ohne die restliche konfigurierte Breite oder Farbe des Rahmens zu löschen — verwende ClearFormatting() für einen vollständigen Reset.
  • Tabellenzellen- und Absatzrahmen sind unabhängige BorderCollection-Instanzen; das Setzen des einen beeinflusst das andere nicht.

Häufige Probleme

ProblemUrsacheBehebung
Rand nicht sichtbar nach dem Setzen von ColorLineStyle verbleibt bei LineStyle.NoneSetze LineStyle auf einen sichtbaren Stil wie Single vor dem Speichern
Schattierung erscheint als Vollfüllung, obwohl ein Muster erwartet wurdeTexture verbleibt beim StandardSetzen Sie Texture explizit auf die gewünschte Musterkonstante
Innere Tabellenränder bleiben von Änderungen der Randränder unberührtHorizontal/Vertical sind getrennt von Left/Right/Top/BottomSetze BorderCollection.Horizontal und .Vertical explizit
Der BorderCollection-Indexer liefert einen unerwarteten RandFalscher BorderType-Wert übergebenStellen Sie sicher, dass der BorderType-Enum-Wert der beabsichtigten Seite entspricht

FAQ

Wie wende ich denselben Rahmen auf alle vier Seiten einer Tabellenzelle an?

Setze LineStyle, LineWidth und Color direkt auf das BorderCollection der Zelle, anstatt sie einzeln auf jedes der Left, Right, Top und Bottom anzuwenden — die Setter auf Sammlungsebene gelten für jeden enthaltenen Rahmen.

Was ist der Unterschied zwischen Border und Shading?

Border beschreibt eine Linie (Stil, Breite, Farbe), die entlang einer Kante gezeichnet wird; Shading beschreibt ein Hintergrundfüllmuster hinter dem Inhalt. Sie sind unabhängig — ein Objekt kann Schattierung ohne Rahmen haben oder Rahmen ohne Schattierung.

Welches Enum steuert das visuelle Linienmuster eines Rahmens?

LineStyle, mit Werten wie Single, Double, Dot, DashSmallGap und Wave.

Kann ich einen Rahmen vollständig entfernen?

Ja — rufe ClearFormatting() auf dem Border oder BorderCollection auf, oder setze LineStyle auf LineStyle.None.


API Reference Zusammenfassung

Klasse / MethodeBeschreibung
BorderEine einzelne Randlinie: Stil, Breite, Farbe, Schatten
BorderCollectionDie Menge der Ränder (Left, Right, Top, Bottom, Horizontal, Vertical) für ein Objekt
BorderTypeEnum zur Identifizierung einer Randseite
LineStyleEnum der visuellen Linienstile (Single, Double, Dot, usw.)
ShadingHintergrundmusterfüllung: Farben und Texture
TextureIndexEnum der Schattierungsmuster-Texturen

Siehe auch

 Deutsch