Добавить объект 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. Мы добавим текст «Первая ячейка» в первую ячейку и изображение 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 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

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

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

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

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

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

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

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

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

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

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