---
title: "Extracting data from specific pages | Nutrient .NET SDK"
canonical_url: "https://www.nutrient.io/guides/dotnet/csharp/extraction/extract-data-from-specific-pages/"
md_url: "https://www.nutrient.io/guides/dotnet/csharp/extraction/extract-data-from-specific-pages.md"
last_updated: "2026-10-08T00:00:00.000Z"
description: "Extract data from selected document pages using Nutrient .NET SDK."
---

# Extracting data from specific pages

Long documents often carry the data you need on just a few pages — a cover sheet, a single invoice page, or one appendix. Restricting extraction to those pages skips the rest of the document, which cuts processing time and keeps the output focused on the content you care about.

Nutrient.NET SDK selects pages through the page range setting on the document's open settings. Extraction then runs only on the pages you list.

[Download sample](https://www.nutrient.io/downloads/samples/csharp/extract-data-from-specific-pages.zip)

## How Nutrient supports this workflow

The page range is a 1-based range string applied before extraction. The SDK reads it once, resolves it to the matching pages, and processes only those — there's no need to split the document or post-filter the result.

The string accepts single pages and ranges, separated by commas or semicolons:

- `"5"` — page 5 only.

- `"1-3,5"` — pages 1, 2, 3, and 5.

- `"2;4;6"` — pages 2, 4, and 6.

- `""` (the default) or `"*"` — every page.

Parsing is lenient: it never throws. Page numbers outside the document are ignored rather than clamped, so a range that overshoots the last page selects only the pages that exist, and a value that matches no page extracts nothing.

## Complete implementation

This example extracts content from a chosen set of pages and writes it to JSON.

Import the Nutrient namespace:

```csharp

using Nutrient;

```

Open the PDF document inside a [using statement](https://learn.microsoft.com/dotnet/csharp/language-reference/statements/using). The `using` statement closes the document automatically:

```csharp

try
{
    using Document document = Document.Open("input.pdf");

```

Set the page range on the open settings to choose the pages to process. This example selects pages 1 through 3 and page 5:

```csharp

    document.Settings.OpenSettings.PageRange = "1-3,5";

```

Configure the Adaptive OCR engine, extract the selected pages as JSON, and write the result to `output.json`. Catch `NutrientException` to handle SDK errors:

```csharp

    document.Settings.VisionSettings.Engine = VisionEngine.AdaptiveOcr;

    Vision vision = Vision.Set(document);
    string contentJson = vision.ExtractContent();

    File.WriteAllText("output.json", contentJson);

    Console.WriteLine("Successfully extracted the selected pages to output.json");
}
catch (NutrientException e)
{
    Console.Error.WriteLine($"Error: {e.Message}");
    Environment.Exit(1);
}

```

Only the pages named in the page range reach the extraction pipeline. The page numbers in the result keep their original values, so a value extracted from page 5 still reports page 5 — selection narrows the work without renumbering the document.

## Handle errors

Nutrient.NET SDK uses exception handling for errors. The methods in this guide throw a `NutrientException` if a failure occurs. Use this exception to troubleshoot issues and implement error handling logic.

## Summary

The extraction flow has four steps:

1. Open the PDF document.

2. Set the page range on the open settings to choose the pages.

3. Configure the Adaptive OCR engine and extract the selected pages as JSON with `Vision`.

4. Write the JSON output to a file.

You can download [this sample package](https://www.nutrient.io/downloads/samples/csharp/extract-data-from-specific-pages.zip) to run the example locally.
---

## Related pages

- [Nutrient .NET SDK extraction guides](/guides/dotnet/csharp/extraction.md)
- [Applying OCR to a PDF page](/guides/dotnet/csharp/extraction/apply-ocr-to-pdf-page.md)
- [Applying OCR to a PDF document](/guides/dotnet/csharp/extraction/apply-ocr-to-pdf.md)
- [Classifying documents](/guides/dotnet/csharp/extraction/classify-document.md)
- [Generating image descriptions using Claude](/guides/dotnet/csharp/extraction/describe-image-with-claude.md)
- [Generating image descriptions using local AI](/guides/dotnet/csharp/extraction/describe-image-with-local-ai.md)
- [Generating image descriptions using OpenAI](/guides/dotnet/csharp/extraction/describe-image-with-openai.md)
- [Detecting document language](/guides/dotnet/csharp/extraction/detect-document-language.md)
- [Extracting data from images using ICR](/guides/dotnet/csharp/extraction/extract-data-from-image-icr.md)
- [Extracting data from images using OCR](/guides/dotnet/csharp/extraction/extract-data-from-image-ocr.md)
- [Extracting data from images using vision language models](/guides/dotnet/csharp/extraction/extract-data-from-image-vlm.md)
- [Extracting form fields from images](/guides/dotnet/csharp/extraction/extract-form-fields-from-image.md)
- [Extracting structured data from documents](/guides/dotnet/csharp/extraction/extract-structured-data.md)
- [Generating extraction schemas](/guides/dotnet/csharp/extraction/generate-extraction-schema.md)
- [Extracting JSON data from a PDF document](/guides/dotnet/csharp/extraction/json-data-extraction.md)
- [Labeling form fields with a vision language model](/guides/dotnet/csharp/extraction/label-form-fields-with-vlm.md)
- [Parsing a document into structured content](/guides/dotnet/csharp/extraction/parse-document.md)
- [Extracting text from PDF documents](/guides/dotnet/csharp/extraction/pdf-to-text.md)
- [Reading barcodes with vision extraction](/guides/dotnet/csharp/extraction/read-barcodes-with-vision.md)
- [Extracting text from multilingual images](/guides/dotnet/csharp/extraction/read-text-from-image-multi-language.md)
- [Extracting text from images](/guides/dotnet/csharp/extraction/read-text-from-image.md)
- [Searching document text](/guides/dotnet/csharp/extraction/search-document-text.md)
- [Speeding up first ICR operation by predownloading models](/guides/dotnet/csharp/extraction/speed-up-first-icr-by-downloading-requirements.md)

