PDFファイルに長方形オブジェクトを追加

次のコードスニペットは、Aspose.PDF.Drawing ライブラリでも動作します。

Rectangle オブジェクトの追加

Aspose.PDF for .NETは、PDF文書にグラフィックオブジェクト(例えばグラフ、ライン、レクタングルなど)を追加する機能をサポートしています。Rectangle オブジェクトを追加する際に、特定の色でレクタングルオブジェクトを塗りつぶす機能、Z-Orderを制御する機能、グラデーションカラーの塗りつぶしを追加する機能なども提供しています。

まず、Rectangleオブジェクトを作成する可能性について見てみましょう。

以下の手順に従ってください:

  1. 新しいPDF Document を作成する

  2. PDFファイルのページコレクションに Page を追加する

  3. ページインスタンスのパラグラフコレクションに Text fragment を追加する

  4. Graph インスタンスを作成する

  5. Rectangle インスタンスを作成する

  6. Rectangle オブジェクトを Graph オブジェクトの shapes コレクションに追加する

  7. Graph オブジェクトをページインスタンスの paragraphs コレクションに追加する

  8. Text fragment をページインスタンスの paragraphs コレクションに追加する

  9. PDFファイルを保存する

 private static void AddRectangle(Page page, float x, float y, float width, float height, Color color, int zindex)
        {
            // Rectangle オブジェクトの指定された寸法と同じ寸法の graph オブジェクトを作成する
            Aspose.Pdf.Drawing.Graph graph = new Aspose.Pdf.Drawing.Graph(width, height)
            {
                // graph インスタンスの位置を変更できるか
                IsChangePosition = false,
                // Graph インスタンスの Left 座標位置を設定
                Left = x,
                // Graph オブジェクトの Top 座標位置を設定
                Top = y
            };
            // "graph" 内に rectangle を追加する
            Rectangle rect = new Rectangle(0, 0, width, height);
            // rectangle の塗りつぶし色を設定
            rect.GraphInfo.FillColor = color;
            // graph オブジェクトの色
            rect.GraphInfo.Color = color;
            // rectangle を graph インスタンスの shapes コレクションに追加する
            graph.Shapes.Add(rect);
            // rectangle オブジェクトの Z-Index を設定する
            graph.ZIndex = zindex;
            // graph をページオブジェクトの paragraphs コレクションに追加する
            page.Paragraphs.Add(graph);
        }

Create Rectangle

塗りつぶされた長方形オブジェクトの作成

Aspose.PDF for .NETは、特定の色で長方形オブジェクトを塗りつぶす機能も提供しています。

以下のコードスニペットは、色で塗りつぶされたRectangleオブジェクトを追加する方法を示しています。

    {
        private const string _dataDir = "C:\\Samples\\";
        public static void RectangleFilled()
        {
            // Document インスタンスを作成
            var doc = new Document();

            // ページをPDFファイルのページコレクションに追加
            var page = doc.Pages.Add();
            // Graph インスタンスを作成
            var graph = new Aspose.Pdf.Drawing.Graph(100, 400);

            // Graphオブジェクトをページインスタンスの段落コレクションに追加
            page.Paragraphs.Add(graph);

            // Rectangle インスタンスを作成
            var rect = new Rectangle(100, 100, 200, 120);

            // Graphオブジェクトの塗りつぶし色を指定
            rect.GraphInfo.FillColor = Color.Red;

            // RectangleオブジェクトをGraphオブジェクトの形状コレクションに追加
            graph.Shapes.Add(rect);

            // PDFファイルを保存
            doc.Save(_dataDir + "CreateFilledRectangle_out.pdf");
        }

固体色で塗りつぶされた長方形の結果を見てください:

Filled Rectangle

グラデーション塗りつぶしを追加する

Aspose.PDF for .NETは、PDFドキュメントにグラフオブジェクトを追加する機能をサポートしており、グラフオブジェクトをグラデーションカラーで塗りつぶすことが必要な場合があります。グラフオブジェクトをグラデーションカラーで塗りつぶすには、gradientAxialShadingオブジェクトを使用してsetPatterColorSpaceを設定する必要があります。

次のコードスニペットは、グラデーションカラーで塗りつぶされたRectangleオブジェクトを追加する方法を示しています。

 public static void CreateFilledRectangletGradientFill()
        {
            // Create Document instance
            var doc = new Document();

            // Add page to pages collection of PDF file
            var page = doc.Pages.Add();
            // Create Graph instance
            var graph = new Aspose.Pdf.Drawing.Graph(400, 400);
            // Add graph object to paragraphs collection of page instance
            page.Paragraphs.Add(graph);
            // Create Rectangle instance
            var rect = new Rectangle(0, 0, 300, 300);
            // Specify fill color for Graph object
            var gradientColor = new Color();
            var gradientSettings = new GradientAxialShading(Color.Red, Color.Blue)
            {
                Start = new Point(0, 0),
                End = new Point(350, 350)
            };
            gradientColor.PatternColorSpace = gradientSettings;
            rect.GraphInfo.FillColor = gradientColor;

            // Add rectangle object to shapes collection of Graph object
            graph.Shapes.Add(rect);

            // Save PDF file
            doc.Save(_dataDir + "CreateFilledRectangle_out.pdf");
        }

グラデーションの長方形

アルファカラーチャネル付きの長方形を作成

Aspose.PDF for .NETは、特定の色で長方形オブジェクトを塗りつぶすことをサポートしています。長方形オブジェクトはアルファカラーチャネルも持つことができ、透明な外観を与えることができます。次のコードスニペットは、アルファカラーチャネルを持つRectangleオブジェクトを追加する方法を示しています。

画像のピクセルは、色の値とともに不透明度に関する情報を保存することができます。これにより、透明または半透明のエリアを持つ画像を作成することができます。

色を透明にする代わりに、各ピクセルはどれだけ不透明であるかの情報を保存します。この不透明度データはアルファチャネルと呼ばれ、通常はピクセルの色チャネルの後に格納されます。

     public static void RectangleFilled_AlphaChannel()
        {
            // Documentインスタンスを作成
            var doc = new Document();

            // PDFファイルのページコレクションにページを追加
            var page = doc.Pages.Add();
            // Graphインスタンスを作成
            var graph = new Aspose.Pdf.Drawing.Graph(100, 400);
            // ページインスタンスの段落コレクションにグラフオブジェクトを追加
            page.Paragraphs.Add(graph);
            // Rectangleインスタンスを作成
            var rect = new Rectangle(100, 100, 200, 120);
            // Graphオブジェクトの塗りつぶし色を指定
            rect.GraphInfo.FillColor = Color.FromArgb(128, 244, 180, 0);

            // Graphオブジェクトの形状コレクションに長方形オブジェクトを追加
            graph.Shapes.Add(rect);

            // 2つ目の長方形オブジェクトを作成
            var rect1 = new Rectangle(200, 150, 200, 100);
            rect1.GraphInfo.FillColor = Color.FromArgb(160, 120, 0, 120);
            graph.Shapes.Add(rect1);

            // ページオブジェクトの段落コレクションにグラフインスタンスを追加
            page.Paragraphs.Add(graph);

            // PDFファイルを保存
            doc.Save(_dataDir + "CreateFilledRectangle_out.pdf");
        }

Rectangle Alpha Channel Color

四角形のZオーダーを制御する

Aspose.PDF for .NETは、PDFドキュメントにグラフオブジェクト(例えばグラフ、ライン、四角形など)を追加する機能をサポートしています。PDFファイル内に同じオブジェクトの複数のインスタンスを追加する場合、Zオーダーを指定することによって、それらのレンダリングを制御できます。Zオーダーは、オブジェクトを互いに重ねてレンダリングする必要がある場合にも使用されます。

以下のコードスニペットは、四角形オブジェクトを互いに重ねてレンダリングする手順を示しています。

 public static void AddRectangleZOrder()
        {
            // Documentクラスオブジェクトをインスタンス化
            Document doc1 = new Document();
            /// PDFファイルのページコレクションにページを追加
            Page page1 = doc1.Pages.Add();
            // PDFページのサイズを設定
            page1.SetPageSize(375, 300);
            // ページオブジェクトの左マージンを0に設定
            page1.PageInfo.Margin.Left = 0;
            // ページオブジェクトの上マージンを0に設定
            page1.PageInfo.Margin.Top = 0;
            // 赤色、Zオーダー0、特定の寸法で新しい四角形を作成
            AddRectangle(page1, 50, 40, 60, 40, Color.Red, 2);
            // 青色、Zオーダー0、特定の寸法で新しい四角形を作成
            AddRectangle(page1, 20, 20, 30, 30, Color.Blue, 1);
            // 緑色、Zオーダー0、特定の寸法で新しい四角形を作成
            AddRectangle(page1, 40, 40, 60, 30, Color.Green, 0);
            // 結果のPDFファイルを保存
            doc1.Save(_dataDir + "ControlRectangleZOrder_out.pdf");
        }

Z オーダーの制御