Adicionar imagens ao documento PDF via C#

C# Biblioteca para inserir imagens em PDF usando APIs próprias.

Adicionar imagem ao documento PDF usando a biblioteca C#

Para adicionar imagem em PDF, usaremos a API Aspose.PDF for .NET, que é uma API de manipulação de documentos rica em recursos, poderosa e fácil de usar para a plataforma net. Abra o gerenciador de pacotes NuGet, procure por Aspose.pdf e instale. Você também pode usar o seguinte comando no Console do Gerenciador de Pacotes.

Package Manager Console

PM > Install-Package Aspose.PDF

Adicionar imagem ao PDF usando C#


Você precisa Aspose.PDF for .NET testar o código em seu ambiente.

  1. Crie um objeto Document e abra o documento PDF de entrada.
  2. Obtenha a página que você deseja adicionar uma imagem.
  3. Adicione a imagem à coleção Resources da página.
  4. Use o operador GSave para salvar o estado gráfico atual.
  5. Use o operador ConcatenateMatrix para especificar onde a imagem deve ser colocada.
  6. Use o operador Fazer para desenhar a imagem na página.
  7. Use o operador GRestore para salvar o estado gráfico atualizado.
  8. Salve o arquivo PDF.

Adicionar imagem ao documento PDF - C#

Este código de exemplo mostra como adicionar imagens em 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);