IRONSOFTWAREHOME
FERRAMENTAS DE PDF

Como redigir um PDF sem o Adobe Pro

Curtis Chau
Curtis Chau
Updated: 23 de abril de 2026

O IronPDF oferece uma adição de imagem mais simples com menos linhas de código e uma licença perpétua, enquanto o iText fornece um controle mais granular, mas requer mais código e possui licenciamento complexo sob AGPL para uso comercial.

Ao trabalhar com arquivos PDF em um ambiente .NET , adicionar imagens aos documentos é um requisito comum para muitas aplicações. Seja para gerar faturas com logotipos da empresa, criar relatórios com gráficos incorporados ou produzir documentos personalizados com marcas d'água , a capacidade de incorporar imagens em PDFs é essencial. Duas bibliotecas populares de PDF em C# são IronPDF e iText. Este artigo compara ambas as bibliotecas quanto à sua capacidade de adicionar imagens a PDFs, considerando facilidade de uso, desempenho, modelos de licenciamento e recursos avançados como compressão de imagem e suporte a formatos.

Quais são as Principais Diferenças Entre IronPDF e iText?

Que recursos de imagem cada biblioteca oferece?

Como eles lidam com arquivos grandes e operações complexas?

Quais são as implicações de custo para o uso comercial?

Como adicionar imagens a PDFs usando o IronPDF?

Como faço para instalar e configurar o IronPDF?

Instale o IronPDF em seu projeto C# ou Visual Basic via NuGet . A biblioteca suporta vários métodos de instalação , incluindo o Windows Installer e a implantação via Docker :

PM > Install-Package IronPdf

Após a instalação, você pode começar a adicionar imagens usando a API de referência do IronPDF. A biblioteca funciona perfeitamente nas plataformas Windows , Linux e macOS .

Como é a adição básica de imagens no IronPDF?

Início rápido: Adicionar imagem ao PDF com o IronPDF

Adicionar imagens a PDFs com o IronPDF requer um código mínimo, utilizando a API de carimbo.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Copie e execute este trecho de código.

    using IronPdf;
    using IronPdf.Editing;
    
    class Program
    {
        public static void Main(string[] args)
        {
            // Create a renderer to convert HTML to PDF
            ChromePdfRenderer renderer = new ChromePdfRenderer();
            
            // Render a basic PDF with some HTML content
            PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
            
            // Create an ImageStamper with the image URL
            ImageStamper stamper = new ImageStamper(new Uri("___PROTECTED_URL_61___"));
            
            // Configure image position and size
            stamper.HorizontalAlignment = HorizontalAlignment.Center;
            stamper.VerticalAlignment = VerticalAlignment.Middle;
            stamper.Width = 200;  // Width in pixels
            stamper.Height = 100; // Height in pixels
            
            // Apply the stamp (image) to the PDF document
            pdf.ApplyStamp(stamper);
            
            // Save the modified PDF to a file
            pdf.SaveAs("output.pdf");
        }
    }
    C#
  3. 3Implante para testar em seu ambiente de produção.

    Comece a usar IronPDF em seu projeto hoje com uma avaliação gratuita
    arrow pointer

Como posso adicionar marcas d'água e imagens de fundo?

O IronPDF se destaca na adição de marcas d'água e imagens de fundo a PDFs existentes. A biblioteca suporta múltiplas operações de estampagem e posicionamento personalizado :

using IronPdf;
using IronPdf.Editing;

// Load an existing PDF
PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");

// Create a watermark with transparency
ImageStamper watermark = new ImageStamper("watermark.png")
{
    Opacity = 30,  // 30% opacity for subtle watermarking
    Rotation = -45, // Diagonal watermark
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Middle
};

// Apply watermark to all pages
pdf.ApplyStamp(watermark);

// Add a header logo
ImageStamper logo = new ImageStamper("company-logo.png")
{
    HorizontalOffset = Length.Millimeters(10),
    VerticalOffset = Length.Millimeters(10),
    Width = 150,
    Height = 50
};

pdf.ApplyStamp(logo, PageSelection.FirstPage);
pdf.SaveAs("watermarked-invoice.pdf");

Você também pode criar layouts complexos com várias imagens :

// Add images from Base64 strings
string base64Image = Convert.ToBase64String(File.ReadAllBytes("signature.png"));
HtmlStamper signatureStamp = new HtmlStamper($"<img src='data:image/png;base64,{base64Image}'/>");
signatureStamp.HorizontalAlignment = HorizontalAlignment.Right;
signatureStamp.VerticalAlignment = VerticalAlignment.Bottom;
pdf.ApplyStamp(signatureStamp);

Visualizador de PDF mostrando um documento simples com o texto

Este exemplo utiliza a classe ChromePdfRenderer para renderizar um novo PDF a partir de uma string HTML . Usando a ferramenta de carimbo de imagem do IronPDF, você cria uma imagem a partir da URL fornecida e a aplica ao PDF. Este exemplo demonstra como adicionar imagens à sua página PDF com o mínimo de código. As opções de renderização oferecem controle total sobre a qualidade da saída.

Como posso controlar a posição e as dimensões da imagem no IronPDF?

O IronPDF oferece ampla personalização para o posicionamento de imagens. Você especifica a localização da página definindo o alinhamento e o deslocamento por meio do recurso de posicionamento da ferramenta de carimbo. A biblioteca suporta tanto o posicionamento absoluto com coordenadas quanto o posicionamento relativo usando opções de alinhamento . Os recursos avançados incluem tamanhos de papel personalizados e controle de margens para layouts precisos.

Como Adicionar Imagens a PDFs Usando o iText?

Como Instalar e Configurar o iText?

Instale o iText via NuGet. Ao contrário do suporte completo à plataforma do IronPDF, o iText tem opções de implementação limitadas:

PM > Install-Package itext7

Depois de configurado, prossiga para adicionar imagens usando os recursos de manipulação de documentos do iText. A biblioteca requer configuração adicional para gerenciamento de fontes e suporte a UTF-8 .

Como é a adição básica de imagens no iText?

Veja como inserir uma imagem usando o iText:

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.IO.Image;

class Program
{
    public static void Main(string[] args)
    {
        // Initialize PDF writer
        var pdfWriter = new PdfWriter("output.pdf");
        
        // Initialize PDF document
        var pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfWriter);
        
        // Initialize document
        var document = new Document(pdfDocument);
        
        // Create ImageData from image file
        ImageData imageData = ImageDataFactory.Create("iText.png");
        
        // Create an Image instance
        Image image = new Image(imageData);
        
        // Set fixed position for the image in the PDF
        image.SetFixedPosition(50, 100);  // x, y coordinates
        
        // Scale image to fit within specified dimensions
        image.ScaleToFit(200, 200);  // Width, Height
        
        // Add image to document
        document.Add(image);
        
        // Close the document
        document.Close();
    }
}

Como posso adicionar várias imagens e lidar com layouts complexos?

Para cenários complexos, como a criação de catálogos de produtos ou álbuns de fotos , você gerencia o layout manualmente. O recurso de sumário e o suporte a marcadores do IronPDF permitem organizar documentos com várias páginas:

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.IO.Image;
using iText.Layout.Properties;

// Create a grid of images
var pdfWriter = new PdfWriter("catalog.pdf");
var pdfDocument = new PdfDocument(pdfWriter);
var document = new Document(pdfDocument);

// Add images in a grid layout
float xPosition = 50;
float yPosition = 750;
int imagesPerRow = 3;
int currentImage = 0;

string[] imageFiles = { "product1.jpg", "product2.jpg", "product3.jpg", 
                       "product4.jpg", "product5.jpg", "product6.jpg" };

foreach (string imagePath in imageFiles)
{
    ImageData imageData = ImageDataFactory.Create(imagePath);
    Image image = new Image(imageData);
    
    // Calculate position
    int column = currentImage % imagesPerRow;
    int row = currentImage / imagesPerRow;
    
    float x = xPosition + (column * 180);
    float y = yPosition - (row * 250);
    
    image.SetFixedPosition(x, y);
    image.ScaleToFit(150, 200);
    
    document.Add(image);
    currentImage++;
}

document.Close();

Visualizador de PDF mostrando um logotipo centralizado do iText com o texto 'CORE' em uma página em branco - exemplo de saída da inserção de imagem do iText demonstrando as capacidades básicas de posicionamento e dimensionamento

A imagem é adicionada nas coordenadas (50, 100) e redimensionada para caber em 200x200 pixels. O PdfWriter cria o arquivo de saída, permitindo a funcionalidade do escritor de PDF para o manuseio de imagens. Para melhor organização, considere usar números de página e cabeçalhos/rodapés .

Como posso controlar a posição e as dimensões da imagem no iText?

O iText oferece controle sobre o posicionamento e o tamanho por meio de cálculos manuais de coordenadas. Você pode redimensionar imagens mantendo a proporção ou esticá-las para dimensões específicas. O método SetFixedPosition oferece controle preciso de posicionamento, e você pode manipular o alinhamento e a rotação. No entanto, ele não possui os controles de viewport e as opções de dimensionamento responsivo do IronPDF.

Como o IronPDF e o iText se comparam em desempenho?

Ambas as bibliotecas lidam com a adição de imagens a PDFs, apresentando diferenças notáveis:

Quais são os recursos avançados de imagem disponíveis?

Como eles lidam com diferentes formatos de imagem?

O IronPDF suporta todos os formatos de imagem:

iText suporta formatos padrão:

  • JPEG/JPG
  • PNG com canal alfa
  • GIF (apenas o primeiro quadro)
  • TIFF (página única)
  • BMP e outros formatos de bitmap

E quanto à qualidade da imagem e à compressão?

O IronPDF oferece opções de compressão integradas que equilibram o tamanho e a qualidade do arquivo. A biblioteca oferece recursos de higienização e capacidade de achatamento de dados :

// Configure compression when rendering
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.JpegQuality = 85; // 0-100 quality scale

// Compress existing PDFs with images
PdfDocument pdf = PdfDocument.FromFile("large-images.pdf");
pdf.CompressImages(60); // Compress to 60% quality
pdf.SaveAs("compressed.pdf");

// Additional optimization options
renderer.RenderingOptions.GrayScale = true; // Convert to grayscale
renderer.RenderingOptions.DPI = 150; // Reduce DPI for web viewing

iText requer manipulação manual de compressão através da manipulação de dados de imagem, aumentando a complexidade de implementação para controles de qualidade. Você deve implementar sua própria conversão para escala de cinza e ajustes de DPI .

Como posso extrair imagens de PDFs existentes?

O IronPDF oferece recursos confiáveis ​​de extração de imagens :

// Extract all images from a PDF
PdfDocument pdf = PdfDocument.FromFile("document.pdf");
var images = pdf.ExtractAllImages();

foreach (var image in images)
{
    // Save extracted images
    image.SaveAs($"extracted_image_{images.IndexOf(image)}.png");
}

// Extract images from specific pages
var pageImages = pdf.ExtractImagesFromPage(0); // First page

Quais são os modelos de licenciamento e precificação?

Qual biblioteca devo escolher para adicionar imagens a PDFs?

Tabela de comparação de recursos entre as bibliotecas PDF IronPDF e iText mostrando as vantagens do IronPDF em facilidade de uso, desempenho, flexibilidade de licenciamento, suporte completo a formatos de imagem e capacidades avançadas de posicionamento para geração de PDF empresarial

Tanto IronPDF quanto iText fornecem ferramentas eficazes para adicionar imagens a PDFs em C#, cada um com vantagens distintas. O IronPDF se destaca pela facilidade de uso, desempenho e flexibilidade de licenciamento, sendo ideal para lidar com PDFs e imagens complexas com o mínimo de código. Oferece melhor escalabilidade para PDFs grandes e fornece licenciamento de compra única, evitando custos recorrentes ou restrições complicadas de código aberto.

O suporte da biblioteca para formatos modernos como SVG e WebP, combinado com recursos de compressão integrados e APIs de posicionamento intuitivas, é ideal para aplicações corporativas que exigem geração de documentos de alta qualidade . O mecanismo de renderização Chrome do IronPDF garante uma saída com qualidade de pixel perfeita em todas as plataformas.

O iText é adequado para projetos de código aberto, embora exija mais código para resultados equivalentes e possivelmente enfrente problemas de desempenho com PDFs maiores. Sua API de nível inferior oferece controle granular, mas aumenta a complexidade do desenvolvimento. A biblioteca carece de recursos modernos, como suporte a CSS responsivo e renderização de JavaScript .

Para aplicações empresariais, as vantagens do IronPDF incluem suporte ao Docker , compatibilidade com AWS Lambda e integração com o Azure Functions . A biblioteca também oferece conformidade com os padrões PDF/A e acessibilidade PDF/UA para atender a requisitos regulamentares.

Pronto para simplificar o gerenciamento de imagens em seus PDFs? O IronPDF permite adicionar imagens a PDFs de forma eficiente com o mínimo de código. Experimente o IronPDF e vivencie a integração simplificada de imagens em seus projetos C#. A implementação lida com a complexidade para você, economizando tempo e melhorando seu fluxo de trabalho de geração de PDF. Explore o conjunto completo de funcionalidades e junte-se a milhares de desenvolvedores que simplificaram suas operações com PDFs.

Observe: iText é uma marca registrada de seu respectivo proprietário. Este site não é afiliado, endossado ou patrocinado pela iText. Todos os nomes de produtos, logotipos e marcas são propriedade de seus respectivos proprietários. As comparações são apenas para fins informativos e refletem informações disponíveis publicamente no momento da redação.
Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.