Agregar imágenes al documento PDF a través de C#

Inserte imágenes en un documento PDF mediante programación mediante Aspose.PDF para .NET

Agregue una imagen a un documento PDF con la herramienta C#

Para agregar una imagen en PDF, usaremos la API Aspose.PDF for .NET, que es una API de manipulación de documentos rica en funciones, potente y fácil de usar para la plataforma net. Abra el administrador de paquetes NuGet, busque Aspose.pdf e instálelo. También puede usar el siguiente comando desde la consola de Package Manager.

Package Manager Console

PM > Install-Package Aspose.PDF

Agregar imagen al PDF con C#


Necesita Aspose.PDF for .NET para probar el código en su entorno.

  1. Cree un objeto Document y abra el documento PDF de entrada.
  2. Consigue la página a la que quieres añadir una imagen.
  3. Agregue la imagen a la colección Resources de la página.
  4. Utilice el operador GSave para guardar el estado gráfico actual.
  5. Utilice el operador ConcatenateMatrix para especificar dónde se va a colocar la imagen.
  6. Utilice el operador Do para dibujar la imagen en la página.
  7. Utilice el operador GRestore para guardar el estado gráfico actualizado.
  8. Guarde el archivo PDF.

Añadir imagen al documento PDF - C#

Este código de ejemplo muestra cómo añadir imágenes a una página PDF: C#


    Document pdfDocument = new Document(dataDir+ "AddImage.pdf");
    int lowerLeftX = 100;
    int lowerLeftY = 100;
    int upperRightX = 200;
    int upperRightY = 200;

    Page page = pdfDocument.Pages[1];

    FileStream imageStream = new FileStream(dataDir + "aspose-logo.jpg", FileMode.Open);

    page.Resources.Images.Add(imageStream);

    page.Contents.Add(new Aspose.Pdf.Operators.GSave());

    Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
    Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

    page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
    XImage 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());
    dataDir = dataDir + "AddImage_out.pdf";
    
    pdfDocument.Save(dataDir);