罫線と網かけ

罫線と網かけ

枠線とシェーディング

Aspose.Words FOSS for .NET における枠線とシェーディングの書式設定は、2つの関連属性クラスでモデル化されています:単一の枠線を表す Border と、背景塗りつぶしパターンを表す Shading。段落、表、セル、フォントはそれぞれの書式プロパティを通じて、BorderCollection(複数の Border 側)と単一の Shading オブジェクトを公開します。


個別枠線の操作

Border オブジェクトは 1 本の枠線を表し、LineStyle(LineStyle からの列挙値で、たとえば Single、Double、Dot、Wave など)や LineWidth、Color、DistanceFromText、Shadow、そしてテーマ対応の ThemeColor/TintAndShade プロパティを公開します。Border に対して ClearFormatting() を呼び出すと、デフォルト(枠線なし)の状態にリセットされます。

BorderCollection はオブジェクトの各側面に対して複数の Border オブジェクトをまとめます。四つのエッジ – Left、Right、Top、Bottom – 用の名前付きプロパティに加えて、内部表枠線用の Horizontal と Vertical も提供します。BorderCollection インデクサは、キーとして BorderType 列挙値(Left、Right、Top、Bottom、Horizontal、Vertical、DiagonalDown、DiagonalUp、None のいずれか)を使用して特定の側面を取得します。コレクション上で LineWidth、LineStyle、または Color を直接設定すると、その値が含まれるすべての枠線に一括で適用されます;ClearFormatting() はコレクション内のすべての枠線をまとめてクリアします。


シェーディングの適用

Shading はオブジェクトの背景パターンを保持します:BackgroundPatternColor と ForegroundPatternColor が 2 つのパターン色を定義し、Texture(TextureIndex 列挙値)がパターンを選択します — 単色塗りつぶしは TextureIndex.TextureSolid を使用し、パーセンテージや方向パターン(Texture10Percent から Texture97Pt5Percent、TextureHorizontal、TextureDiagonalCross など)は Word のシェーディングギャラリーを再現します。ForegroundPatternThemeColor と BackgroundPatternThemeColor はテーマカラーの同等物を提供し、ForegroundTintAndShade と BackgroundTintAndShade による色相/明度調整も可能です。ClearFormatting() は Shading オブジェクトを塗りなしにリセットします。


ヒントとベストプラクティス

  • Texture を TextureIndex.TextureSolid に設定し、BackgroundPatternColor を使用して単色の背景塗りつぶしを行います — 最も一般的なシェーディングケースです。
  • BorderCollection インデクサ(borders[BorderType.Horizontal] / borders[BorderType.Vertical])を使用して、テーブルの内部グリッド線にアクセスします。これらは名前付きプロパティとして公開されていません。
  • BorderCollection に直接プロパティを設定すること(個々の Left/Right/Top/Bottom Border に設定するのではなく)は、すべての側面に均一なボーダーを適用する最速の方法です。
  • 覚えておいてください、LineStyle.None はボーダーの設定された幅や色は残したまま可視ラインだけを削除します — 完全にリセットするには ClearFormatting() を使用してください。
  • テーブルセルと段落のボーダーは独立した BorderCollection インスタンスです。どちらか一方を設定しても、もう一方には影響しません。

一般的な問題

問題原因修正
設定 Color 後、枠線が表示されませんLineStyle が LineStyle.None のまま残っています保存する前に、LineStyle を Single のような見えるスタイルに設定してください
パターンが期待されるのに、シェーディングが単色の塗りつぶしとして表示されますTexture がデフォルトのまま残っています明示的に Texture を目的のパターン定数に設定する
内部テーブルの境界線は、外枠の境界線の変更の影響を受けませんHorizontal/Vertical は Left/Right/Top/Bottom とは別ですBorderCollection.Horizontal と .Vertical を明示的に設定します
BorderCollection インデクサが予期しない境界を返す誤った BorderType 値が渡されましたBorderType 列挙値が意図した側と一致していることを確認してください

FAQ

テーブルセルの四辺すべてに同じ枠線を適用するにはどうすればよいですか?

セルの BorderCollection に直接 LineStyle、LineWidth、Color を設定し、Left、Right、Top、Bottom を個別に設定しないでください — コレクションレベルのセッターは含まれるすべての枠線に適用されます。

Border と Shading の違いは何ですか?

Border はエッジに沿って描かれる線(スタイル、幅、色)を表し、Shading はコンテンツの背後にある背景塗りつぶしパターンを表します。これらは独立しています — オブジェクトは枠線なしでシェーディングを持つことも、シェーディングなしで枠線を持つこともできます。

枠線のビジュアルラインパターンを制御する enum はどれですか?

LineStyle、値としては Single、Double、Dot、DashSmallGap、Wave などがあります。

枠線を完全に削除できますか?

はい — Border または BorderCollection に対して ClearFormatting() を呼び出すか、LineStyle を LineStyle.None に設定してください。


API Reference の概要

クラス / メソッド説明
Border単一の枠線: スタイル、幅、色、影
BorderCollectionオブジェクトの枠線セット (Left, Right, Top, Bottom, Horizontal, Vertical)
BorderType枠線の側面を識別する列挙型
LineStyle視覚的な線スタイルの列挙型 (Single, Double, Dot, など)
Shading背景パターンの塗りつぶし: 色と Texture
TextureIndexシェーディングパターンテクスチャの列挙

参照

 日本語