---
title: "C# .NET MRC compress: Hyper-compress image and PDFs | Nutrient .NET SDK"
canonical_url: "https://www.nutrient.io/guides/dotnet/optimization/hyper-compress-mrc/"
md_url: "https://www.nutrient.io/guides/dotnet/optimization/hyper-compress-mrc.md"
last_updated: "2026-05-21T17:12:02.207Z"
description: "Discover how Nutrient .NET SDK (formerly GdPicture.NET) uses mixed raster content (MRC) compression to optimize images and PDFs, enhancing quality while reducing file size. Learn more now!"
---

# MRC compression in C#

Mixed raster content (MRC) is a way to compress images with mixed content. For more information, see the [MRC Wikipedia article](https://en.wikipedia.org/wiki/Mixed_raster_content).

Nutrient.NET SDK (formerly GdPicture.NET) uses advanced MRC compression techniques to reduce the size of structured documents that mix text, graphics, and images, without losing quality.

Our MRC compression engine is based on MRC hyper-compression techniques, and it can both reduce the size of images and improve rendering quality. Using image segmentation, it compresses areas with the optimum algorithm based on their characteristics.

For more information on hyper-compression, check out our demo video below.

## Alternative minimal pipeline

If you want a concise MRC optimization flow, enable MRC and process the document in a few lines:

```csharp

using GdPicture14;

LicenseManager licence = new LicenseManager();
licence.RegisterKEY("");

GdPicturePDFReducer PDFReducer = new GdPicturePDFReducer();
PDFReducer.PDFReducerConfiguration.EnableMRC = true;
PDFReducer.ProcessDocument(@"input_image_based.pdf", @"output.pdf");

```

Use this for quick compression, and use the full workflow below when you need to tune metadata and advanced reducer settings.

## Using MRC compression

To compress a PDF document using MRC compression, follow these steps:

1. Create a `GdPicturePDFReducer` object.

2. Configure the metadata of the resulting PDF document with the following properties of the `PDFReducerConfiguration` object:

| Property name      | Description                                                       |
| ------------------ | ----------------------------------------------------------------- |
| [`Author`](https://www.nutrient.io/api/gdpicture/GdPicture.NET.14~GdPicture14.PDFReducerConfiguration~Author.html)       | Specifies the author of the resulting PDF document.               |
| [`Producer`](https://www.nutrient.io/api/gdpicture/GdPicture.NET.14~GdPicture14.PDFReducerConfiguration~Producer.html)     | Specifies the producer of the resulting PDF document.             |
| [`ProducerName`](https://www.nutrient.io/api/gdpicture/GdPicture.NET.14~GdPicture14.PDFReducerConfiguration~ProducerName.html) | Specifies the name of the producer of the resulting PDF document. |
| [`Title`](https://www.nutrient.io/api/gdpicture/GdPicture.NET.14~GdPicture14.PDFReducerConfiguration~Title.html)        | Specifies the title of the resulting PDF document.                |

3. Enable MRC compression by setting the `EnableMRC` property of the `PDFReducerConfiguration` object to `true`.

4. Optional: Configure the compression process with the properties of the `PDFReducerConfiguration` object. For more information, see the [compression](https://www.nutrient.io/guides/dotnet/optimization/compress.md) guide.

5. Run the compression process with the `ProcessDocument` method. This method takes the path to the source and the output PDF files as its parameters.

The example below compresses a PDF document using MRC compression:

### C#

```csharp

using GdPicturePDFReducer gdpicturePDFReducer = new GdPicturePDFReducer();

// Configure the metadata of the resulting PDF document.
gdpicturePDFReducer.PDFReducerConfiguration.Author = "Nutrient.NET PDF Reducer SDK";
gdpicturePDFReducer.PDFReducerConfiguration.Producer = "GdPicture.NET 14";
gdpicturePDFReducer.PDFReducerConfiguration.ProducerName = "Nutrient";
gdpicturePDFReducer.PDFReducerConfiguration.Title = "MRC Compression";

// Enable and configure MRC compression.
gdpicturePDFReducer.PDFReducerConfiguration.EnableMRC = true;
gdpicturePDFReducer.PDFReducerConfiguration.DownscaleResolutionMRC = 200;
gdpicturePDFReducer.PDFReducerConfiguration.OutputFormat = PDFReducerPDFVersion.PdfVersionRetainExisting;
gdpicturePDFReducer.PDFReducerConfiguration.RecompressImages = true;

// Run the compression process.
gdpicturePDFReducer.ProcessDocument(@"C:\temp\source.pdf", @"C:\temp\output.pdf");

```

### VB.NET

```vb

Using gdpicturePDFReducer As GdPicturePDFReducer = New GdPicturePDFReducer()
    'Configure the metadata of the resulting PDF document.
    gdpicturePDFReducer.PDFReducerConfiguration.Author = "Nutrient.NET PDF Reducer SDK"
    gdpicturePDFReducer.PDFReducerConfiguration.Producer = "GdPicture.NET 14"
    gdpicturePDFReducer.PDFReducerConfiguration.ProducerName = "Nutrient"
    gdpicturePDFReducer.PDFReducerConfiguration.Title = "MRC Compression"

    'Enable and configure MRC compression.
    gdpicturePDFReducer.PDFReducerConfiguration.EnableMRC = True
    gdpicturePDFReducer.PDFReducerConfiguration.DownscaleResolutionMRC = 200
    gdpicturePDFReducer.PDFReducerConfiguration.OutputFormat = PDFReducerPDFVersion.PdfVersionRetainExisting
    gdpicturePDFReducer.PDFReducerConfiguration.RecompressImages = True

    'Run the compression process.
    gdpicturePDFReducer.ProcessDocument(@"C:\temp\source.pdf", @"C:\temp\output.pdf")
End Using

```
---

## Related pages

- [Optimize PDFs using C#](/guides/dotnet/optimization.md)
- [Flatten PDFs in C# .NET](/guides/dotnet/optimization/flatten.md)
- [Image and PDF compression in C#](/guides/dotnet/optimization/compress.md)
- [Linearize PDFs in C# .NET](/guides/dotnet/optimization/linearize.md)

