Margini și umbrire

Margini și umbrire

Margini și umbrire

Formatarea de margine și umbrire în Aspose.Words FOSS pentru .NET este modelată prin două clase de atribute înrudite: Border, care descrie o singură linie de margine, și Shading, care descrie un model de umplere de fundal. Paragrafele, tabelele, celulele și fonturile expun fiecare un BorderCollection (multiple Border laturi) și un singur obiect Shading prin proprietățile lor de formatare respective.


Lucrul cu margini individuale

Un obiect Border reprezintă o linie de margine și expune LineStyle (o valoare enum din LineStyle, cum ar fi Single, Double, Dot sau Wave), LineWidth, Color, DistanceFromText, Shadow și proprietăți ThemeColor/TintAndShade sensibile la temă. Apelă ClearFormatting() pe un Border pentru a-l reseta la starea implicită (fără margine).

BorderCollection grupează multiple obiecte Border pentru laturile unui obiect. Expune proprietăți numite pentru cele patru margini — Left, Right, Top, Bottom — plus Horizontal și Vertical pentru marginile interne ale tabelului. Indexatorul BorderCollection recuperează o anumită latură utilizând o valoare enum BorderType (Left, Right, Top, Bottom, Horizontal, Vertical, DiagonalDown, DiagonalUp sau None) ca cheie. Setarea lui LineWidth, LineStyle sau Color direct pe colecție aplică acea valoare fiecărei margini conținute simultan; ClearFormatting() curăță toate marginile din colecție împreună.


Aplicarea umbririi

Shading conține modelul de fundal pentru un obiect: BackgroundPatternColor și ForegroundPatternColor definesc cele două culori ale modelului, iar Texture (o valoare enum TextureIndex) selectează modelul — umpleri solide folosesc TextureIndex.TextureSolid, în timp ce modelele procentuale și direcționale (Texture10Percent până la Texture97Pt5Percent, TextureHorizontal, TextureDiagonalCross și altele) reproduc galeria de umbrire a Word. ForegroundPatternThemeColor și BackgroundPatternThemeColor oferă echivalente de culoare tematică, alături de ajustarea nuanței/umbririi prin ForegroundTintAndShade și BackgroundTintAndShade. ClearFormatting() resetează un obiect Shading la starea fără umplere.


Sfaturi și cele mai bune practici

  • Setați Texture la TextureIndex.TextureSolid și utilizați BackgroundPatternColor pentru umplere simplă a fundalului — cel mai comun caz de umbrire.
  • Utilizați indexatorul BorderCollection (borders[BorderType.Horizontal] / borders[BorderType.Vertical]) pentru a accesa liniile de rețea interioare ale unui tabel, care nu sunt expuse ca proprietăți numite.
  • Setarea proprietăților direct pe un BorderCollection (în loc de pe un Left/Right/Top/Bottom Border individual) este cea mai rapidă modalitate de a aplica borduri uniforme pe toate părțile.
  • Rețineți că LineStyle.None elimină linia vizibilă fără a șterge restul lățimii sau culorii configurate ale bordurii — utilizați ClearFormatting() pentru o resetare completă.
  • Bordurile celulelor de tabel și ale paragrafelor sunt instanțe independente de BorderCollection; setarea uneia nu afectează cealaltă.

Probleme comune

ProblemăCauzăRemediere
Bordura nu este vizibilă după setarea ColorLineStyle lăsat la LineStyle.NoneSetați LineStyle la un stil vizibil, cum ar fi Single, înainte de a salva
Umbrirea apare ca o umplere solidă când se aștepta un modelTexture lăsat la valoarea implicităSetați explicit Texture la constanta de model dorită
Marginile interioare ale tabelului nu sunt afectate de modificările marginilor exterioareHorizontal/Vertical sunt separate de Left/Right/Top/BottomSetează BorderCollection.Horizontal și .Vertical explicit
Indexatorul BorderCollection returnează o margine neașteptatăValoare BorderType incorectă transmisăConfirmați că valoarea enum BorderType corespunde laturii dorite

FAQ

Cum aplic aceeași bordură pe toate cele patru părți ale unei celule de tabel?

Setați LineStyle, LineWidth și Color direct pe BorderCollection celulei, în loc să le aplicați individual pe fiecare dintre Left, Right, Top și Bottom — setările la nivel de colecție se aplică fiecărei borduri pe care o conține.

Care este diferența dintre Border și Shading?

Border descrie o linie (stil, lățime, culoare) trasată de-a lungul unei margini; Shading descrie un model de umplere de fundal în spatele conținutului. Sunt independente — un obiect poate avea umbrire fără borduri sau borduri fără umbrire.

Ce enum controlează modelul vizual al liniei unei borduri?

LineStyle, cu valori precum Single, Double, Dot, DashSmallGap și Wave.

Pot elimina complet o bordură?

Da — apelați ClearFormatting() pe Border sau BorderCollection, sau setați LineStyle la LineStyle.None.


API Reference Rezumat

Clasă / MetodăDescriere:
BorderO linie de bordură unică: stil, lățime, culoare, umbră
BorderCollectionSetul de borduri (Left, Right, Top, Bottom, Horizontal, Vertical) pentru un obiect
BorderTypeEnum care identifică o latură a bordurii
LineStyleEnum al stilurilor de linie vizuale (Single, Double, Dot, etc.)
ShadingUmplere cu model de fundal: culori și Texture
TextureIndexEnum al texturilor de model de umbrire

Vezi și:

 Română