---
title: "C# .NET load PDF from stream | Nutrient .NET SDK"
canonical_url: "https://www.nutrient.io/guides/dotnet/load-a-file/pdf/from-stream/"
md_url: "https://www.nutrient.io/guides/dotnet/load-a-file/pdf/from-stream.md"
last_updated: "2026-05-15T19:10:04.988Z"
description: "Learn how to load a PDF from a stream in C# .NET. Follow our guide with code examples to handle PDF data from memory or network streams efficiently."
---

# Load a PDF from a stream in C# .NET

To load a PDF document from a previously instantiated stream, use the [`LoadFromStream` method](https://www.nutrient.io/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPicturePDF~LoadFromStream.html) from the [`GdPicturePDF` class](https://www.nutrient.io/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPicturePDF.html).

`LoadFromStream` accepts:

- A `Stream` parameter (required).

- An optional `OwnStream` Boolean parameter (default: `false`).

When `OwnStream` is:

- `false` — You’re responsible for disposing the stream.

- `true` — `GdPicturePDF` will dispose the stream when it’s no longer needed (for example, after `CloseDocument`).

`LoadFromStream` only supports PDF input and returns a `GdPictureStatus`, which should always be checked.

You can also load a PDF from a COM `IStream` by using the [`LoadFromIStream` method](https://www.nutrient.io/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPicturePDF~LoadFromIStream.html).

To load a PDF document from a stream, use the following code:

### C#

```csharp

using GdPicture14;
using System;
using System.IO;

// OwnStream = false (default): caller disposes the stream.
using (Stream streamPdf = new FileStream(@"C:\temp\source.pdf", FileMode.Open, FileAccess.Read))
using (GdPicturePDF pdf = new GdPicturePDF())
{
    GdPictureStatus status = pdf.LoadFromStream(streamPdf);
    if (status!= GdPictureStatus.OK)
    {
        Console.WriteLine($"LoadFromStream failed: {status}");
        return;
    }

    pdf.CloseDocument();
}

// OwnStream = true: GdPicturePDF owns the stream lifecycle.
using (GdPicturePDF pdf = new GdPicturePDF())
{
    Stream streamPdf = new FileStream(@"C:\temp\source.pdf", FileMode.Open, FileAccess.Read);

    GdPictureStatus status = pdf.LoadFromStream(streamPdf, true);
    if (status!= GdPictureStatus.OK)
    {
        Console.WriteLine($"LoadFromStream failed: {status}");
        return;
    }

    // Closing the document also releases owned stream resources.
    pdf.CloseDocument();
}

```

### VB.NET

```vb

Imports GdPicture14
Imports System.IO

' OwnStream = false (default): caller disposes the stream.
Using streamPdf As Stream = New FileStream("C:\temp\source.pdf", FileMode.Open, FileAccess.Read),
      pdf As New GdPicturePDF()

    Dim status As GdPictureStatus = pdf.LoadFromStream(streamPdf)
    If status <> GdPictureStatus.OK Then
        Console.WriteLine($"LoadFromStream failed: {status}")
        Return
    End If

    pdf.CloseDocument()
End Using

' OwnStream = true: GdPicturePDF owns the stream lifecycle.
Using pdf As New GdPicturePDF()
    Dim streamPdf As Stream = New FileStream("C:\temp\source.pdf", FileMode.Open, FileAccess.Read)

    Dim status As GdPictureStatus = pdf.LoadFromStream(streamPdf, True)
    If status <> GdPictureStatus.OK Then
        Console.WriteLine($"LoadFromStream failed: {status}")
        Return
    End If

    ' Closing the document also releases owned stream resources.
    pdf.CloseDocument()
End Using

```
---

## Related pages

- [Load a PDF from a remote URL in C#](/guides/dotnet/load-a-file/pdf/from-remote-url.md)
- [Load a PDF file from local storage in C#](/guides/dotnet/load-a-file/pdf/from-local-storage.md)

