Adicionar Objeto Retângulo ao arquivo PDF

O seguinte trecho de código também funciona com a biblioteca Aspose.PDF.Drawing.

Adicionar objeto Retângulo

Aspose.PDF for .NET suporta a funcionalidade de adicionar objetos gráficos (por exemplo, gráfico, linha, retângulo etc.) a documentos PDF. Você também tem a possibilidade de adicionar um objeto Retângulo, onde também oferece a funcionalidade de preencher o objeto retângulo com uma determinada cor, controlar o Z-Order, adicionar preenchimento de cor em gradiente etc.

Primeiro, vamos olhar a possibilidade de criar um objeto Retângulo.

Siga os passos abaixo:

  1. Crie um novo Documento PDF.

  2. Adicione uma Página à coleção de páginas do arquivo PDF.

  3. Adicione um Fragmento de Texto à coleção de parágrafos da instância da página.

  4. Crie uma instância de Gráfico.

  5. Defina a borda para o Objeto de Desenho.

  6. Crie uma instância de Retângulo.

  7. Adicione o objeto Retângulo à coleção de formas do objeto Gráfico.

  8. Adicione o objeto gráfico à coleção de parágrafos da instância da página.

  9. Adicione um Fragmento de Texto à coleção de parágrafos da instância da página.

  10. E salve seu arquivo PDF.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddRectangle(Aspose.Pdf.Page page, float x, float y, float width, float height, Aspose.Pdf.Color color, int zIndex)
{
    // Create a Graph object with dimensions matching the specified rectangle
    var graph = new Aspose.Pdf.Drawing.Graph(width, height)
    {
        // Prevent the graph from repositioning automatically
        IsChangePosition = false,
        // Set the Left coordinate position for the Graph instance
        Left = x,
        // Set the Top coordinate position for the Graph instance
        Top = y
    };

    // Create a Rectangle object inside the Graph
    var rect = new Aspose.Pdf.Drawing.Rectangle(0, 0, width, height)
    {
        // Set the fill color of the rectangle
        GraphInfo =
        {
            FillColor = color,
            // Set the border color of the rectangle
            Color = color
        }
    };

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

    // Set the Z-Index for the Graph object to control layering
    graph.ZIndex = zIndex;

    // Add the Graph object to the Paragraphs collection of the page
    page.Paragraphs.Add(graph);
}

Criar Retângulo

Criar Objeto Retângulo Preenchido

Aspose.PDF for .NET também oferece a funcionalidade de preencher o objeto retângulo com uma determinada cor.

O seguinte trecho de código mostra como adicionar um objeto Retângulo que é preenchido com cor.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RectangleFilled()
{
    // The path to the documents directory directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_Images();

    // Create PDF document
    using (var document = new Aspose.Pdf.Document())
    {
        // Add page
        var page = document.Pages.Add();

        // Create Graph instance
        var graph = new Aspose.Pdf.Drawing.Graph(100, 400);

        // Add graph object to paragraphs collection of page instance
        page.Paragraphs.Add(graph);

        // Create Rectangle instance with specified dimensions
        var rect = new Aspose.Pdf.Drawing.Rectangle(100, 100, 200, 120)
        {
            // Specify fill color for the Rectangle object
            GraphInfo = 
            { 
                FillColor = Aspose.Pdf.Color.Red 
            }
        };

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

        // Save PDF document
        document.Save(dataDir + "CreateFilledRectangle_out.pdf");
    }
}

Veja o resultado do retângulo preenchido com cor sólida:

Retângulo Preenchido

Adicionar Desenho com Preenchimento em Gradiente

Aspose.PDF for .NET suporta a funcionalidade de adicionar objetos gráficos a documentos PDF e, às vezes, é necessário preencher objetos gráficos com Cor Gradiente. Para preencher objetos gráficos com Cor Gradiente, precisamos definir setPatterColorSpace com o objeto gradientAxialShading da seguinte forma.

O seguinte trecho de código mostra como adicionar um objeto Retângulo que é preenchido com Cor Gradiente.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void CreateFilledRectangleGradientFill()
{
    // The path to the documents directory directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_Images();

    // Create PDF document
    using (var document = new Aspose.Pdf.Document())
    {
        // Add page
        var page = document.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 Aspose.Pdf.Drawing.Rectangle(0, 0, 300, 300);

        // Create a gradient fill color
        var gradientColor = new Aspose.Pdf.Color();
        var gradientSettings = new Aspose.Pdf.Drawing.GradientAxialShading(Aspose.Pdf.Color.Red, Aspose.Pdf.Color.Blue)
        {
            Start = new Aspose.Pdf.Point(0, 0),
            End = new Aspose.Pdf.Point(350, 350)
        };
        gradientColor.PatternColorSpace = gradientSettings;

        // Apply gradient fill color to the rectangle
        rect.GraphInfo.FillColor = gradientColor;

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

        // Save PDF document
        document.Save(dataDir + "CreateFilledRectangleGradient_out.pdf");
    }
}

Retângulo Gradiente

Criar Retângulo com Canal de Cor Alfa

Aspose.PDF for .NET suporta preencher o objeto retângulo com uma determinada cor. Um objeto retângulo também pode ter um canal de cor Alfa para dar uma aparência transparente. O seguinte trecho de código mostra como adicionar um objeto Retângulo com canal de cor Alfa.

Os pixels da imagem podem armazenar informações sobre sua opacidade junto com o valor da cor. Isso permite criar imagens com áreas transparentes ou semi-transparentes.

Em vez de tornar uma cor transparente, cada pixel armazena informações sobre quão opaco ele é. Esses dados de opacidade são chamados de canal alfa e geralmente são armazenados após os canais de cor do pixel.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RectangleFilled_AlphaChannel()
{
    // The path to the documents directory directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_Images();

    // Create PDF document
    using (var document = new Aspose.Pdf.Document())
    {
        // Add page
        var page = document.Pages.Add();

        // Create Graph instance
        var graph = new Aspose.Pdf.Drawing.Graph(100, 400);

        // Add graph object to paragraphs collection of page instance
        page.Paragraphs.Add(graph);

        // Create first rectangle with alpha channel fill color
        var rect = new Aspose.Pdf.Drawing.Rectangle(100, 100, 200, 120)
        {
            GraphInfo = 
            { 
                FillColor = Aspose.Pdf.Color.FromArgb(128, 244, 180, 0) 
            }
        };

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

        // Create second rectangle with different alpha channel fill color
        var rect1 = new Aspose.Pdf.Drawing.Rectangle(200, 150, 200, 100)
        {
            GraphInfo = 
            { 
                FillColor = Aspose.Pdf.Color.FromArgb(160, 120, 0, 120) 
            }
        };

        // Add the second rectangle to the shapes collection of the Graph object
        graph.Shapes.Add(rect1);

        // Save PDF document
        document.Save(dataDir + "CreateFilledRectangle_out.pdf");
    }
}

Cor do Canal Alfa do Retângulo

Controlar Z-Order do Retângulo

Aspose.PDF for .NET suporta a funcionalidade de adicionar objetos gráficos (por exemplo, gráfico, linha, retângulo etc.) a documentos PDF. Ao adicionar mais de uma instância do mesmo objeto dentro do arquivo PDF, podemos controlar sua renderização especificando o Z-Order. O Z-Order também é usado quando precisamos renderizar objetos uns sobre os outros.

O seguinte trecho de código mostra os passos para renderizar objetos Retângulo uns sobre os outros.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddRectangleZOrder()
{
    // The path to the documents directory directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_Images();

    // Create PDF document
    using (var document = new Aspose.Pdf.Document())
    {
        // Add page
        var page = document.Pages.Add();

        // Set size of PDF page
        page.SetPageSize(375, 300);

        // Set left and top margins for the page object as 0
        page.PageInfo.Margin.Left = 0;
        page.PageInfo.Margin.Top = 0;

        // Create rectangles with different colors and Z-Order values
        AddRectangle(page, 50, 40, 60, 40, Aspose.Pdf.Color.Red, 2);
        AddRectangle(page, 20, 20, 30, 30, Aspose.Pdf.Color.Blue, 1);
        AddRectangle(page, 40, 40, 60, 30, Aspose.Pdf.Color.Green, 0);

        // Save PDF document
        document.Save(dataDir + "ControlRectangleZOrder_out.pdf");
    }
}

Controlando Z Order