Добавить объект SVG в файл PDF

В этом уроке мы научимся добавлять объект SVG в PDF-файл с помощью библиотеки Aspose.PDF для .NET. SVG (масштабируемая векторная графика) — популярный формат векторной графики, который можно легко масштабировать без потери качества. С помощью Aspose.PDF вы можете добавлять объекты SVG в свои PDF-документы программным способом.

Требования

Прежде чем начать, убедитесь, что у вас есть следующее:

  • Visual Studio установлена
  • Установлена библиотека Aspose.PDF для .NET

Шаг 1: Настройка среды

Сначала настроим среду, создав новый проект C# в Visual Studio. Откройте Visual Studio и выполните следующие шаги:

  1. Нажмите «Файл» > «Новый» > «Проект», чтобы создать новый проект.
  2. Выберите шаблон «Консольное приложение (.NET Framework)» или «Консольное приложение (.NET Core)» в зависимости от ваших настроек.
  3. Выберите подходящее имя и местоположение для вашего проекта, затем нажмите «Создать».

Шаг 2: Создание объектов документа и изображения

На этом этапе мы создадим необходимые объекты для нашего PDF-документа и изображения SVG. Откройте файл C# вашего проекта и добавьте следующий код:

// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENT DIRECTORY";

// Объект мгновенного документа
Document doc = new Document();
// Создать экземпляр изображения
Aspose.Pdf.Image img = new Aspose.Pdf.Image();

Шаг 3: Задайте свойства изображения

Далее мы зададим свойства для нашего изображения SVG. Мы укажем тип файла как SVG, путь к файлу SVG и размеры изображения. Добавьте следующий код после предыдущего шага:

// Установить тип изображения как SVG
img.FileType = Aspose.Pdf.ImageFileType.Svg;
// Путь к исходному файлу
img.File = dataDir + "SVGToPDF.svg";
// Установить ширину для экземпляра изображения
img. FixWidth = 50;
// Установить высоту для экземпляра изображения
img.FixHeight = 50;

Шаг 4: Создание и настройка таблицы

Теперь давайте создадим объект таблицы и зададим ширину столбцов. Мы создадим таблицу с двумя столбцами, каждый шириной 100 единиц. Добавьте следующий код:

// Создать таблицу экземпляров
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
// Установить ширину ячеек таблицы
table. ColumnWidths = "100 100";

Шаг 5: Добавьте ячейки в таблицу

На этом шаге мы добавим строку и ячейки в таблицу. Каждая строка представляет собой горизонтальную строку в таблице, а ячейки добавляются в строки. Добавьте следующий код:

//Создать объект строки и добавить его в экземпляр таблицы
Aspose.Pdf.Row row = table.Rows.Add();
// Создать объект ячейки и добавить его в экземпляр строки
Aspose.Pdf.Cell cell = row.Cells.Add();

Шаг 6: Добавьте текст и изображение в ячейки

Далее добавим текст и изображение SVG в ячейки таблицы. Мы добавим текст “First cell” в первую ячейку и изображение SVG во вторую ячейку. Добавьте следующий код:

// Добавить текстовый фрагмент в коллекцию абзацев объекта ячейки
cell.Paragraphs.Add(new TextFragment("First cell"));
// Добавить еще одну ячейку в объект строки
cell = row. Cells. Add();
// Добавить изображение SVG в коллекцию абзацев недавно добавленного экземпляра ячейки
cell.Paragraphs.Add(img);

Шаг 7: Создайте и добавьте страницу в документ

Теперь давайте создадим объект страницы и добавим его в документ. Таблица будет добавлена в коллекцию абзацев страницы. Добавьте следующий код:

// Создать объект страницы и добавить его в коллекцию страниц экземпляра документа
Page page = doc.Pages.Add();
// Добавить таблицу в коллекцию абзацев объекта страницы
page.Paragraphs.Add(table);

Шаг 8: Сохраните PDF-файл.

Наконец, мы сохраним PDF-файл в указанном месте. Добавьте следующий код:

dataDir = dataDir + "AddSVGObject_out.pdf";
// Сохранить PDF-файл
doc.Save(dataDir);

Console.WriteLine("\nSVG image added successfully inside a table cell.\nFile saved at " + dataDir);

Пример исходного кода для добавления объекта SVG с помощью Aspose.PDF для .NET

// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENT DIRECTORY";

// Создать экземпляр объекта Document
Document doc = new Document();
// Создать экземпляр изображения
Aspose.Pdf.Image img = new Aspose.Pdf.Image();
// Установить тип изображения как SVG
img.FileType = Aspose.Pdf.ImageFileType.Svg;
// Путь к исходному файлу
img.File = dataDir + "SVGToPDF.svg";
// Установить ширину для экземпляра изображения
img.FixWidth = 50;
// Установить высоту для экземпляра изображения
img.FixHeight = 50;
// Создать экземпляр таблицы
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
// Установить ширину ячеек таблицы
table.ColumnWidths = "100 100";
//Создать объект строки и добавить его в экземпляр таблицы
Aspose.Pdf.Row row = table.Rows.Add();
// Создать объект ячейки и добавить его в экземпляр строки
Aspose.Pdf.Cell cell = row.Cells.Add();
// Добавить текстовый фрагмент в коллекцию абзацев объекта ячейки
cell.Paragraphs.Add(new TextFragment("First cell"));
// Добавить еще одну ячейку в объект строки
cell = row.Cells.Add();
// Добавить изображение SVG в коллекцию абзацев недавно добавленного экземпляра ячейки
cell.Paragraphs.Add(img);
// Создать объект страницы и добавить его в коллекцию страниц экземпляра документа
Page page = doc.Pages.Add();
// Добавить таблицу в коллекцию абзацев объекта страницы
page.Paragraphs.Add(table);

dataDir = dataDir + "AddSVGObject_out.pdf";
// Сохранить PDF-файл
doc.Save(dataDir);

Console.WriteLine("\nSVG image added successfully inside a table cell.\nFile saved at " + dataDir);            

Заключение

В этом уроке мы узнали, как добавить объект SVG в файл PDF с помощью библиотеки Aspose.PDF для .NET. Мы рассмотрели пошаговый процесс создания документа, настройки среды, добавления изображения SVG в ячейку таблицы и сохранения файла PDF. Теперь вы можете программно включать объекты SVG в свои документы PDF.

Часто задаваемые вопросы по добавлению объекта SVG в файл PDF

В: Могу ли я добавить несколько объектов SVG в PDF-документ?

A: Да, вы можете добавить несколько объектов SVG в документ PDF. Просто создайте и настройте дополнительныеAspose.Pdf.Image экземпляры для каждого SVG-изображения, которое вы хотите добавить, а затем добавьте их в нужные ячейки таблицы или абзацы в документе PDF.

В: Как изменить размер и положение SVG-изображения в ячейке таблицы?

A: Чтобы настроить размер и положение изображения SVG в ячейке таблицы, вы можете изменитьFixWidth иFixHeight свойстваAspose.Pdf.Imageэкземпляр. Вы также можете использовать другие свойства, такие какHorizontalAlignment иVerticalAlignment ячейки таблицы для управления позиционированием.

В: Можно ли добавить текст рядом с изображением SVG в той же ячейке таблицы?

A: Да, можно добавить текст рядом с изображением SVG в той же ячейке таблицы. Вы можете использоватьcell.Paragraphs.Add(new TextFragment("Your Text Here")); метод добавления текста в ячейку вместе с изображением SVG.

В: Могу ли я добавлять гиперссылки к SVG-изображению?

A: Да, вы можете добавлять гиперссылки к изображению SVG, используяHyperlink собственностьAspose.Pdf.Image экземпляр. Установите URL-адрес гиперссылки или действие, чтобы сделать изображение кликабельным.

В: Совместим ли Aspose.PDF для .NET с .NET Core 3.1 или более поздними версиями?

A: Да, Aspose.PDF для .NET совместим с .NET Core 3.1 и более поздними версиями. Вы можете использовать его как в приложениях .NET Framework, так и в приложениях .NET Core.