DEV Community

Cover image for How to add image to PDF in C# (Developer Tutorial)
Tayyab Ali
Tayyab Ali

Posted on

How to add image to PDF in C# (Developer Tutorial)

Every day, millions of businesses rely on PDF documents to share information across the globe. The success of these documents often hinges on one key element: images. Clear product photos, informative charts, and precise technical diagrams make the difference between a document that communicates effectively and one that falls flat.

For .NET developers, handling images in PDF using C# used to be a complex challenge. Traditional methods were clunky and time-consuming, often producing inconsistent results. IronPDF changes this completely. This library gives developers direct control over every aspect of PDF image manipulation - from basic insertion to advanced compression and formatting.

As companies move away from paper documents, they need reliable tools to create professional digital content. IronPDF fits this need perfectly, offering a straightforward API that works seamlessly with .NET applications. IronPDF provides the tools to manipulate images with precision and efficiency. It's the kind of practical solution that makes a developer's life easier while ensuring the end product meets professional standards.

How to add Image to a PDF in C

1. Create a C# project in the Visual Studio

2. Install the PDF library in the project

3. Create the PDF document or load the PDF file

4. Embed the image to the target file

5. Save the updated PDF file

IronPDF: C# PDF Library

IronPDF is a dot NET library that simplifies PDF handling in C# applications. Unlike complex open-source alternatives, it offers a clean, intuitive API that developers can master quickly. This library handles everything from basic PDF creation to advanced image manipulation, all while maintaining high performance and document fidelity.

Key features include:

  • PDF generation from HTML, URLs, and images

  • Image insertion and extraction capabilities

  • Advanced compression algorithms for optimized file sizes

  • Cross-platform support for Windows, Linux, and macOS

  • Thread-safe operations for enterprise applications

What makes IronPDF stand out is its practical approach to common PDF tasks. Instead of dealing with complex PDF specifications, developers can work with familiar C# objects and methods. This translates to faster development cycles and more reliable code.

Preparing Your Development Environment

Getting started with IronPDF is straightforward. Here's what you need to do:

Installing IronPDF

The simplest way to add IronPDF to your project is through NuGet Package Manager. You can either:

  1. Use the Package Manager Console:
   Install-Package IronPdf
Enter fullscreen mode Exit fullscreen mode

  1. Or use the NuGet Package Manager UI in Visual Studio:
  • Right-click on your project

  • Select "Manage NuGet Packages"

  • Search for "IronPdf"

  • Click Install

Setting Up Your Project

Once installed, add these namespace references to your code:

using IronPdf;
using IronPdf.Editing;
Enter fullscreen mode Exit fullscreen mode

IronPDF works seamlessly with both .NET Framework (4.6.2+) and .NET Core (3.1+) projects. The same API works across platforms, so your code remains consistent whether you're developing for Windows, Linux, or macOS.

Adding Image to PDF

When it comes to adding images to PDFs, IronPDF makes it surprisingly simple by leveraging its HTML-to-PDF conversion capabilities. Since IronPDF natively supports converting HTML documents to PDFs, developers can use standard HTML and CSS to include images in their PDFs. This approach not only simplifies image handling but also provides the flexibility of web technologies for layout and styling.

Why Use HTML for Image Insertion?

Using HTML to add images to PDFs has several advantages:

  • Ease of Use: HTML image tags are straightforward and widely understood.

  • Precise Layouts: CSS allows precise image positioning, size, and styling control.

  • Dynamic Content: HTML is ideal for generating dynamic PDFs with content sourced from databases or user input.

Adding Images to a New PDF Document

You can create a new document and embed images directly into its pages. Using HTML simplifies adding images in various image formats like jpg, png, and jpeg. The following code example demonstrates how to create a new PDF document, embed a bitmap image, and save the output:

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        License.LicenseKey = "License-Key";
        // Initialize IronPDF's HTML to PDF renderer
         var renderer = new ChromePdfRenderer();

        // HTML string containing an image
        string html = @"
            <html>
            <body>
                <h1>Welcome to Our PDF</h1>
                <img src='https://filesamples.com/samples/image/bmp/sample_640%C3%97426.bmp' style='width:300px;height:auto;' />
            </body>
            </html>";

        // Render the HTML to a new PDF document
        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

        // Save the output file
        pdf.SaveAs("NewDocument.pdf");
    }
}
Enter fullscreen mode Exit fullscreen mode

This code creates a new PDF document and inserts an image file at the provided URL. The embedded image can be dynamically loaded or static.

Adding Images to an Existing PDF File

If you need to modify an existing PDF file by adding images to a specific PDF page or creating a new page, IronPDF provides the tools to do so. This example shows how to open an existing PDF file, insert an image onto the first page, and save the modified document:

using IronPdf;
using IronPdf.Editing;

class Program
{
    static void Main(string[] args)
    {
        License.LicenseKey = "license-key";

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

        // HTML for the source image and additional elements to be added
        string htmlForStamp = @"
            <div style='position: relative;'>
                <p style='color: blue;'>This is a stamped message</p>
                <img src='https://via.placeholder.com/150' style='width:150px; height:150px;' alt='Sample Image' />
            </div>";

        // Create an HtmlStamper for stamping the existing PDF
        HtmlStamper imageStamper = new HtmlStamper(htmlForStamp)
        {
            HorizontalAlignment = HorizontalAlignment.Center,
            VerticalAlignment = VerticalAlignment.Bottom,
            VerticalOffset = new Length(50, MeasurementUnit.Points)
        };

        // Apply the stamper to the existing PDF document
        pdf.ApplyStamp(imageStamper);

        // Save the updated PDF file
        pdf.SaveAs("UpdatedDocumentWithImage.pdf");

        System.Console.WriteLine("The PDF has been updated with an image stamp.");
    }
}
Enter fullscreen mode Exit fullscreen mode

Extracting Images from PDF Files

IronPDF also enables developers to extract or remove images from PDF documents. You can see all images without opening the PDF file in the folder. Hereโ€™s an example of extracting images from a document:

using IronPdf;
using System.Drawing.Imaging;

class Program
{
    static void Main(string[] args)
    {
        License.LicenseKey = "license-key";

        PdfDocument pdf = PdfDocument.FromFile("PdfWithImages.pdf");

        // Extract images
        var images = pdf.ExtractAllImages();

        for (int i = 0; i < images.Count; i++)
        {
            // Export the extracted images
            images[i].SaveAs($"image{i}.png");
        }

    }
}
Enter fullscreen mode Exit fullscreen mode

Conclusion

IronPDF provides .NET developers with a powerful, user-friendly solution for PDF manipulation. Its intuitive API simplifies complex PDF tasks like image insertion, extraction, and document editing across multiple platforms. Whether you're creating dynamic reports, adding visual elements to documents, or processing existing PDFs, IronPDF offers a robust toolkit that makes development easy and ensures professional results.

For developers looking to explore its capabilities, IronPDF offers a free trial to test the library's features. Licensing options start from $749, providing flexible pricing for different development needs. By choosing IronPDF, developers can save time, reduce complexity, and deliver high-quality PDF solutions with minimal effort.

Top comments (0)