Добавление объекта Прямоугольник в PDF файл

Следующий фрагмент кода также работает с библиотекой Aspose.PDF.Drawing.

Добавление объекта Rectangle

Aspose.PDF для .NET поддерживает возможность добавления графических объектов (например, график, линия, прямоугольник и т.д.) в PDF документы. Вы также можете добавить объект Rectangle, который предоставляет возможность заполнить объект прямоугольника определенным цветом, управлять Z-порядком, добавить градиентное заполнение цветом и т.д.

Давайте сначала рассмотрим возможность создания объекта Rectangle.

Следуйте шагам ниже:

  1. Создайте новый PDF Document

  2. Добавьте Page в коллекцию страниц PDF файла

  3. Добавьте Text fragment в коллекцию параграфов экземпляра страницы

  4. Создайте экземпляр Graph

  5. Создайте экземпляр Rectangle

  6. Добавьте объект Rectangle в коллекцию форм объекта Graph

  7. Добавьте объект графики в коллекцию абзацев экземпляра страницы

  8. Добавьте фрагмент текста в коллекцию абзацев экземпляра страницы

  9. И сохраните ваш PDF файл

 private static void AddRectangle(Page page, float x, float y, float width, float height, Color color, int zindex)
        {
            // Создайте объект графики с размерами, указанными для объекта Rectangle
            Aspose.Pdf.Drawing.Graph graph = new Aspose.Pdf.Drawing.Graph(width, height)
            {
                // Можем ли мы изменить положение экземпляра графики
                IsChangePosition = false,
                // Установите левую координату положения для экземпляра графики
                Left = x,
                // Установите верхнюю координату положения для объекта графики
                Top = y
            };
            // Добавьте прямоугольник внутри "графики"
            Rectangle rect = new Rectangle(0, 0, width, height);
            // Установите цвет заливки прямоугольника
            rect.GraphInfo.FillColor = color;
            // Цвет объекта графики
            rect.GraphInfo.Color = color;
            // Добавьте прямоугольник в коллекцию форм экземпляра графики
            graph.Shapes.Add(rect);
            // Установите Z-индекс для объекта прямоугольника
            graph.ZIndex = zindex;
            // Добавьте графику в коллекцию абзацев объекта страницы
            page.Paragraphs.Add(graph);
        }

Создать прямоугольник

Создание объекта заполненного прямоугольника

Aspose.PDF для .NET также предлагает функцию заполнения объекта прямоугольника определенным цветом.

Следующий фрагмент кода показывает, как добавить объект Прямоугольник, который заполнен цветом.

    {
        private const string _dataDir = "C:\\Samples\\";
        public static void RectangleFilled()
        {
            // Создать экземпляр документа
            var doc = new Document();

            // Добавить страницу в коллекцию страниц PDF файла
            var page = doc.Pages.Add();
            // Создать экземпляр графа
            var graph = new Aspose.Pdf.Drawing.Graph(100, 400);

            // Добавить объект графа в коллекцию абзацев экземпляра страницы
            page.Paragraphs.Add(graph);

            // Создать экземпляр прямоугольника
            var rect = new Rectangle(100, 100, 200, 120);

            // Указать цвет заливки для объекта графа
            rect.GraphInfo.FillColor = Color.Red;

            // Добавить объект прямоугольника в коллекцию форм объекта графа
            graph.Shapes.Add(rect);

            // Сохранить PDF файл
            doc.Save(_dataDir + "CreateFilledRectangle_out.pdf");
        }

Посмотрите на результат закрашенного прямоугольника:

Закрашенный прямоугольник

Добавление рисунка с градиентной заливкой

Aspose.PDF для .NET поддерживает возможность добавления графических объектов в документы PDF и иногда требуется заливать графические объекты градиентным цветом. Чтобы залить графические объекты градиентным цветом, нам нужно установить setPatterColorSpace с объектом gradientAxialShading следующим образом.

Следующий фрагмент кода показывает, как добавить объект Прямоугольник, который заполнен градиентным цветом.

 public static void CreateFilledRectangletGradientFill()
        {
            // Создать экземпляр документа
            var doc = new Document();

            // Добавить страницу в коллекцию страниц PDF файла
            var page = doc.Pages.Add();
            // Создать экземпляр графа
            var graph = new Aspose.Pdf.Drawing.Graph(400, 400);
            // Добавить графический объект в коллекцию абзацев экземпляра страницы
            page.Paragraphs.Add(graph);
            // Создать экземпляр прямоугольника
            var rect = new Rectangle(0, 0, 300, 300);
            // Указать цвет заливки для графического объекта
            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;

            // Добавить объект прямоугольника в коллекцию форм графического объекта
            graph.Shapes.Add(rect);

            // Сохранить PDF файл
            doc.Save(_dataDir + "CreateFilledRectangle_out.pdf");
        }

Градиентный прямоугольник

Создание прямоугольника с альфа-каналом цвета

Aspose.PDF для .NET поддерживает заполнение объекта прямоугольник определенным цветом. Объект прямоугольника также может иметь альфа-канал цвета для создания прозрачного вида. Следующий фрагмент кода показывает, как добавить объект Прямоугольник с альфа-каналом цвета.

Пиксели изображения могут хранить информацию о своей прозрачности вместе с цветовым значением. Это позволяет создавать изображения с прозрачными или полупрозрачными областями.

Вместо того, чтобы делать цвет прозрачным, каждый пиксель хранит информацию о том, насколько он непрозрачен. Эти данные о непрозрачности называются альфа-каналом и обычно хранятся после цветовых каналов пикселя.

     public static void RectangleFilled_AlphaChannel()
        {
            // Создать экземпляр документа
            var doc = new Document();

            // Добавить страницу в коллекцию страниц PDF файла
            var page = doc.Pages.Add();
            // Создать экземпляр графа
            var graph = new Aspose.Pdf.Drawing.Graph(100, 400);
            // Добавить объект графа в коллекцию параграфов экземпляра страницы
            page.Paragraphs.Add(graph);
            // Создать экземпляр прямоугольника
            var rect = new Rectangle(100, 100, 200, 120);
            // Указать цвет заливки для объекта графа
            rect.GraphInfo.FillColor = Color.FromArgb(128, 244, 180, 0);

            // Добавить объект прямоугольника в коллекцию форм объекта графа
            graph.Shapes.Add(rect);

            // Создать второй объект прямоугольника
            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");
        }

Прямоугольник Альфа-канал Цвет

Контроль Z-порядка прямоугольника

Aspose.PDF для .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