Search Results for

    Show / Hide Table of Contents

    Class PdfDocument

    Inheritance
    System.Object
    PdfDocument
    Implements
    System.IDisposable
    Namespace: PdfToSvg
    Assembly: IronPdf.dll
    Syntax
    public sealed class PdfDocument : Object

    The entry point for converting a PDF file to SVG output in C# is PdfDocument, the handle through which every page, image, metadata record, and permission flag in a PDF becomes accessible to your code. Call the static Open or OpenAsync factory to load a file from a path or a Stream, then work with the resulting object to inspect content and drive rendering. Because PdfDocument implements Dispose, wrap it in a using block to release native resources promptly.

    **Opening a document** accepts two overloads for each transport: a string path and a Stream. The stream overload accepts a leaveOpen flag (default false) that controls whether the underlying stream is closed when the document is disposed. Both overloads accept an OpenOptions instance for fine-grained load control and a CancellationToken for cooperative cancellation. OpenAsync mirrors those signatures and returns Task<PdfDocument>, making it the right choice in ASP.NET Core handlers or any async pipeline.

    **Working with the loaded document** centers on six properties grouped by concern:

    - Content access: Pages (PdfPageCollection) enumerates every page for SVG conversion; Images (ImageEnumerable) iterates embedded raster images across the document. - Document identity: Info (DocumentInfo) exposes title, author, creation date, and other XMP/Info-dictionary fields. - Security: IsEncrypted reports whether the file is password-protected; Permissions (DocumentPermissions) details what operations the document allows, such as printing or copying. - Layering: OptionalContentGroups (OptionalContentGroupCollection) gives access to PDF optional content groups (OCG layers), which control visibility of layer-separated content during conversion.

    Because Open is synchronous, it suits console tools and batch scripts where blocking is acceptable. For web applications or desktop apps with a responsive UI, prefer OpenAsync to keep the load operation off the main thread.

    using PdfToSvg;
    
    await using var pdf = await PdfDocument.OpenAsync("report.pdf");
    
    Console.WriteLine($"Title: {pdf.Info.Title}");
    Console.WriteLine($"Pages: {pdf.Pages.Count}");
    Console.WriteLine($"Encrypted: {pdf.IsEncrypted}");
    
    foreach (var page in pdf.Pages)
        await page.SaveAsSvgAsync($"page_{page.PageNumber}.svg");

    Explore further at the IronPDF get-started guide, the PDF-to-SVG how-to, the PDF metadata how-to, and the PDF security examples.

    Properties

    Images

    Declaration
    public ImageEnumerable Images { get; }
    Property Value
    Type Description
    ImageEnumerable

    Info

    Declaration
    public DocumentInfo Info { get; }
    Property Value
    Type Description
    DocumentInfo

    IsEncrypted

    Declaration
    public bool IsEncrypted { get; }
    Property Value
    Type Description
    System.Boolean

    OptionalContentGroups

    Declaration
    public OptionalContentGroupCollection OptionalContentGroups { get; }
    Property Value
    Type Description
    OptionalContentGroupCollection

    Pages

    Declaration
    public PdfPageCollection Pages { get; }
    Property Value
    Type Description
    PdfPageCollection

    Permissions

    Declaration
    public DocumentPermissions Permissions { get; }
    Property Value
    Type Description
    DocumentPermissions

    Methods

    Dispose()

    Declaration
    public void Dispose()

    Open(Stream, Boolean, OpenOptions, CancellationToken)

    Declaration
    public static PdfDocument Open(Stream stream, bool leaveOpen = false, OpenOptions options = null, CancellationToken cancellationToken = null)
    Parameters
    Type Name Description
    System.IO.Stream stream
    System.Boolean leaveOpen
    OpenOptions options
    System.Threading.CancellationToken cancellationToken
    Returns
    Type Description
    PdfDocument

    Open(String, OpenOptions, CancellationToken)

    Declaration
    public static PdfDocument Open(string path, OpenOptions options = null, CancellationToken cancellationToken = null)
    Parameters
    Type Name Description
    System.String path
    OpenOptions options
    System.Threading.CancellationToken cancellationToken
    Returns
    Type Description
    PdfDocument

    OpenAsync(Stream, Boolean, OpenOptions, CancellationToken)

    Declaration
    public static Task<PdfDocument> OpenAsync(Stream stream, bool leaveOpen = false, OpenOptions options = null, CancellationToken cancellationToken = null)
    Parameters
    Type Name Description
    System.IO.Stream stream
    System.Boolean leaveOpen
    OpenOptions options
    System.Threading.CancellationToken cancellationToken
    Returns
    Type Description
    System.Threading.Tasks.Task<PdfDocument>

    OpenAsync(String, OpenOptions, CancellationToken)

    Declaration
    public static Task<PdfDocument> OpenAsync(string path, OpenOptions options = null, CancellationToken cancellationToken = null)
    Parameters
    Type Name Description
    System.String path
    OpenOptions options
    System.Threading.CancellationToken cancellationToken
    Returns
    Type Description
    System.Threading.Tasks.Task<PdfDocument>

    Implements

    System.IDisposable
    ☀
    ☾
    Downloads
    • Download with Nuget
    • Start for Free
    In This Article
    Back to top
    Install with Nuget
    %s requires a valid license key for further deployment. Get Trial Below.
    ironsuite
    Blue key in circleGet Started for Free
    30 days full access • No credit card required
    Test in a live environment

    Test in production without watermarks.
    Works wherever you need it to.

    Fully-functional product

    Get 30 days of fully functional product.
    Have it up and running in minutes.

    24/5 technical support

    Full access to our support engineering team during your product trial

    Grey key in circleGet Started for Free
    The trial form was submitted successfully.
    Grey check in circleTrial key delivered
    Your key has been issued and sent to your email.
    Calendar in circleBook Free Live Demo
    No cards • no pitches • no commitments Pick a time for a quick, personalized demo
    Get the most out of your 30-day trial with:

    Live product and key features walk-through

    Project-specific recommendations

    All your questions answered

    Grey key in circleBook Free Live Demo
    Your booking has been completed Check your e-mail for confirmation

    Want to deploy Iron Suite
    to a live project for FREE?

    What’s included?

    • Test in production without watermarks
    • 30 days fully functional product
    • 24/5 technical support during trial
    ironpdf Logo
    ironword Logo
    ironxl Logo
    ironppt Logo
    ironocr Logo
    ironbarcode Logo
    ironqr Logo
    ironprint Logo
    ironzip Logo
    ironwebscraper Logo
    Iron Software sales team
    Online 24/5
    Have Enterprise licensing requirements?
    Request Iron Suite Enterprise trial
    Key in blue circle

    Get your free 30-day Trial Key instantly

    Your trial license will be sent to your email address

    No limitations. 100% unlocked. No credit card.

    bullet_checkedNo credit card or account creation requiredNo limitations. 100% unlocked. No credit card.
    Or
    Key in blue circle

    Complete Your Trial Key Signup

    Tell us a little more about yourself.

    Key in blue circleNo credit card or account creation requiredNo limitations. 100% unlocked. No credit card.
    Key in blue circle

    Your license key has been delivered to your inbox

    Can't find it? Check your spam folder.

    What’s next?
    Install with NuGet
    Add IronPDF to your project
    Quickstart Guide
    Helpful resources to get started

    Need help getting started?

    Book a Free Live Demo

    See IronPDF in action and get your licensing questions answered, or

    Key in blue circle

    Your demo request is in.

    You'll receive an invite via email shortly.

    What’s next?
    Explore Documentation
    Review Licensing Options
    badge_greencheck_in_yellowcircle
    Thank you
    Your trial key should be in the email.
    If it is not, please contact support@ironsoftware.com
    • Logo Aetna
    • Logo NASA
    • Logo GE
    • Logo Porsche
    • Logo USDA
    • Logo Qatar
    Join Millions of Engineers who’ve tried IronPDF
    Your trial key should be in the email.
    If it is not, please contact support@ironsoftware.com