Travaillez avec des images au format PDF via C#

Manipulez des images dans un document PDF. Utilisez Aspose.PDF pour .NET afin de modifier des documents PDF par programmation

Ajouter une image au document PDF à l'aide de la bibliothèque C#

Afin d’ajouter une image dans un PDF, nous utiliserons l’API Aspose.PDF for .NET qui est une API de manipulation de documents riche en fonctionnalités, puissante et facile à utiliser pour la plate-forme net. Ouvrez le gestionnaire de packages NuGet, recherchez Aspose.pdf et installez. Vous pouvez également utiliser la commande suivante depuis la console du gestionnaire de packages.

Package Manager Console

PM > Install-Package Aspose.PDF

Ajouter une image au PDF via C#


Vous devez Aspose.PDF for .NET essayer le code dans votre environnement.

  1. Créez un objet Document et ouvrez le document PDF d’entrée.
  2. Obtenez la page à laquelle vous souhaitez ajouter une image.
  3. Ajoutez l’image dans la collection Resources de la page.
  4. Utilisez l’opérateur GSave pour enregistrer l’état graphique actuel.
  5. Utilisez l’opérateur ConcatenateMatrix pour spécifier l’emplacement de l’image.
  6. Utilisez l’opérateur Do pour dessiner l’image sur la page.
  7. Utilisez l’opérateur gRestore pour enregistrer l’état graphique mis à jour.
  8. Enregistrez le fichier PDF.

Ajouter une image dans un fichier PDF existant - 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);