Добавление объекта Прямоугольник в PDF файл
Следующий фрагмент кода также работает с библиотекой Aspose.PDF.Drawing.
Добавление объекта Rectangle
Aspose.PDF для .NET поддерживает возможность добавления графических объектов (например, график, линия, прямоугольник и т.д.) в PDF документы. Вы также можете добавить объект Rectangle, который предоставляет возможность заполнить объект прямоугольника определенным цветом, управлять Z-порядком, добавить градиентное заполнение цветом и т.д.
Давайте сначала рассмотрим возможность создания объекта Rectangle.
Следуйте шагам ниже:
-
Создайте новый PDF Document
-
Добавьте Page в коллекцию страниц PDF файла
-
Добавьте Text fragment в коллекцию параграфов экземпляра страницы
-
Создайте экземпляр Graph
-
Создайте экземпляр Rectangle
-
Добавьте объект Rectangle в коллекцию форм объекта Graph
-
Добавьте объект графики в коллекцию абзацев экземпляра страницы
-
Добавьте фрагмент текста в коллекцию абзацев экземпляра страницы
-
И сохраните ваш 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");
}