Работайте с изображениями в формате PDF с помощью C#

Манипулируйте изображениями в PDF-документе. Используйте Aspose.PDF для .NET для программного изменения PDF-документов

Добавить изображение в PDF-документ с помощью библиотеки C#

Чтобы добавить изображение в PDF, мы будем использовать Aspose.PDF для.NET API, который представляет собой многофункциональный, мощный и простой в использовании API для работы с документами для платформы net. Откройте менеджер пакетов NuGet, найдите Aspose.pdf и установите. Вы также можете использовать следующую команду из консоли Package Manager.

Package Manager Console

PM > Install-Package Aspose.PDF

Добавить изображение в PDF с помощью C#


Вам нужно Aspose.PDF for .NET попробовать код в своей среде.

  1. Создайте объект Document и откройте входной PDF-документ.
  2. Найдите страницу, на которую вы хотите добавить изображение.
  3. Добавьте изображение в коллекцию ресурсов страницы.
  4. Используйте оператор GSave для сохранения текущего графического состояния.
  5. Используйте оператор concatenateMatrix, чтобы указать место размещения изображения.
  6. Используйте оператор Do, чтобы нарисовать изображение на странице.
  7. Используйте оператор GRestore для сохранения обновленного графического состояния.
  8. Сохраните PDF-файл.

Добавьте изображение в существующий PDF-файл — C#

Example: C#

var inputFile = Path.Combine(dataDir, "add-image.pdf");
var outputFile = Path.Combine(dataDir, "add-image_out.pdf");
var imageFile = Path.Combine(dataDir, "aspose-logo.jpg");
var pdfDocument = new Aspose.Pdf.Document(inputFile);
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;

var page = pdfDocument.Pages[1];
var imageStream = new FileStream(imageFile, FileMode.Open);
page.Resources.Images.Add(imageStream);
page.Contents.Add(new Aspose.Pdf.Operators.GSave());
var rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
var matrix = new Aspose.Pdf.Matrix([rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY]);
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
var ximage = page.Resources.Images[page.Resources.Images.Count];
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));
page.Contents.Add(new Aspose.Pdf.Operators.GRestore());

pdfDocument.Save(outputFile);