Search Results for

    Show / Hide Table of Contents

    Class PdfDocument

    PdfDocument for IronPdf

    Inheritance
    System.Object
    PdfClientAccessor
    PdfDocument
    Implements
    IronSoftware.IDocumentId
    System.IDisposable
    Namespace: IronPdf
    Assembly: IronPdf.dll
    Syntax
    public class PdfDocument : PdfClientAccessor, IDocumentId, IDisposable

    Constructors

    PdfDocument(PdfDocument)

    Create a new PDF document by cloning an existing one

    Declaration
    public PdfDocument(PdfDocument Document)
    Parameters
    Type Name Description
    PdfDocument Document

    Document to clone

    PdfDocument(in Byte[], String, String, ChangeTrackingModes)

    Opens an existing PDF document for editing.

    Adding a using declaration is not required. But can be used if you want to explicitly dispose. See: https://ironpdf.com/troubleshooting/ironpdf-using/

    Declaration
    public PdfDocument(in byte[] PdfData, string Password = "", string OwnerPassword = "", ChangeTrackingModes TrackChanges)
    Parameters
    Type Name Description
    System.Byte[] PdfData

    The PDF file data as byte array.

    System.String Password

    Optional user password if the PDF document is encrypted.

    System.String OwnerPassword

    Optional password if the PDF document is protected by owner (printing, modifying restrictions etc..).

    ChangeTrackingModes TrackChanges

    Optionally track changes to the document (for use with incremental saves)

    Exceptions
    Type Condition
    System.IO.IOException

    Exception thrown if can not be opened.

    PdfDocument(IList<IPdfPageObjectModel>)

    Create a new PDF document from existing page object models

    Declaration
    public PdfDocument(IList<IPdfPageObjectModel> ObjectModels)
    Parameters
    Type Name Description
    System.Collections.Generic.IList<IPdfPageObjectModel> ObjectModels

    Object models from which to create pages

    PdfDocument(Double, Double)

    Create a new blank PDF document

    Declaration
    public PdfDocument(double Width, double Height)
    Parameters
    Type Name Description
    System.Double Width

    Document width (mm)

    System.Double Height

    Document height (mm)

    PdfDocument(Stream, String, String, ChangeTrackingModes)

    Opens an existing PDF document for editing.

    Adding a using declaration is not required. But can be used if you want to explicitly dispose. See: https://ironpdf.com/troubleshooting/ironpdf-using/

    Declaration
    public PdfDocument(Stream PdfDataStream, string Password = "", string OwnerPassword = "", ChangeTrackingModes TrackChanges)
    Parameters
    Type Name Description
    System.IO.Stream PdfDataStream

    The PDF file data as a Stream.

    System.String Password

    Optional user password if the PDF document is encrypted.

    System.String OwnerPassword

    Optional password if the PDF document is protected by owner (printing, modifying restrictions etc..).

    ChangeTrackingModes TrackChanges

    Optionally track changes to the document (for use with incremental saves)

    Exceptions
    Type Condition
    System.IO.IOException

    Exception thrown if can not be opened.

    PdfDocument(String, String, String, ChangeTrackingModes)

    Opens an existing PDF document for editing.

    Adding a using declaration is not required. But can be used if you want to explicitly dispose. See: https://ironpdf.com/troubleshooting/ironpdf-using/

    Declaration
    public PdfDocument(string PdfFilePath, string Password = "", string OwnerPassword = "", ChangeTrackingModes TrackChanges)
    Parameters
    Type Name Description
    System.String PdfFilePath

    The PDF file path.

    System.String Password

    Optional user password if the PDF document is encrypted.

    System.String OwnerPassword

    Optional password if the PDF document is protected by owner (printing, modifying restrictions etc..).

    ChangeTrackingModes TrackChanges

    Optionally track changes to the document (for use with incremental saves)

    Exceptions
    Type Condition
    System.IO.IOException

    Exception thrown if can not be opened.

    System.ArgumentException

    PdfFilePath is null, empty, or consists only of white-space characters.

    PdfDocument(Uri, String, String, ChangeTrackingModes)

    Opens an existing PDF document from the specified Uri for editing.

    Adding a using declaration is not required. But can be used if you want to explicitly dispose. See: https://ironpdf.com/troubleshooting/ironpdf-using/

    Declaration
    public PdfDocument(Uri PdfUri, string Password = "", string OwnerPassword = "", ChangeTrackingModes TrackChanges)
    Parameters
    Type Name Description
    System.Uri PdfUri

    The Uri to the PDF.

    System.String Password

    Optional user password if the PDF document is encrypted.

    System.String OwnerPassword

    Optional password if the PDF document is protected by owner (printing, modifying restrictions etc..).

    ChangeTrackingModes TrackChanges

    Optionally track changes to the document (for use with incremental saves)

    Exceptions
    Type Condition
    IronPdfProductException

    Exception thrown if PDF cannot be found at URI or if password is incorrect.

    Properties

    Annotations

    Annotations collection

    Declaration
    public PdfAnnotationCollection Annotations { get; }
    Property Value
    Type Description
    PdfAnnotationCollection

    Attachments

    Collection of attachments contained within the pdf document

    Declaration
    public PdfAttachmentCollection Attachments { get; }
    Property Value
    Type Description
    PdfAttachmentCollection

    BinaryData

    Saves the PDF as byte array, including any changes. For incremental saves, see BinaryDataIncremental

    Declaration
    public byte[] BinaryData { get; }
    Property Value
    Type Description
    System.Byte[]

    The PDF file as a byte array.

    BinaryDataIncremental

    Saves the PDF as byte array with changes appended to the end of the file. For non-incremental saves, see BinaryData

    For information on how to enable incremental saves see SaveAsRevision(String)

    Declaration
    public byte[] BinaryDataIncremental { get; }
    Property Value
    Type Description
    System.Byte[]

    The PDF file as a byte array.

    Bookmarks

    Hierarchy of navigational bookmarks contained at the top level of the document

    Declaration
    public PdfBookMarkCollection Bookmarks { get; }
    Property Value
    Type Description
    PdfBookMarkCollection

    Fonts

    PDF Document's Font collection management.

    Declaration
    public PdfFontCollection Fonts { get; }
    Property Value
    Type Description
    PdfFontCollection

    Form

    Gets an object returning any PDF editable form fields which can have their values both read and set programmatically.

    Declaration
    public FormFieldCollection Form { get; }
    Property Value
    Type Description
    FormFieldCollection

    The form.

    MetaData

    MetaData information settings for the PDF.

    Allows File meta-data to be read and set including: Authors, File Dates, Keywords, Title and Subject

    Declaration
    public PdfMetaData MetaData { get; }
    Property Value
    Type Description
    PdfMetaData

    MetaData settings for this PDF as an instance of PdfMetaData

    OwnerPassword

    Sets the owner password and enables 128-bit encryption of PDF content. An owner password is one used to enable and disable all other security settings.

    OwnerPassword must be set to a non empty string value forAllowUserCopyPasteContent,AllowUserAnnotations,AllowUserFormData,AllowUserPrinting andAllowUserEdits to be restricted.

    Declaration
    public string OwnerPassword { get; set; }
    Property Value
    Type Description
    System.String

    PageCount

    Gets the number of pages in the PDF document.

    Declaration
    public int PageCount { get; }
    Property Value
    Type Description
    System.Int32

    The page count.

    Pages

    Gets the list of pages in the PDF document.

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

    Password

    Sets a Password used to protect and encrypt the PDF File. Setting a password will cause IronPDF to automatically protect the PDF file content using strong 128 bit encryption. Setting the password to null will remove any existing password.

    Declaration
    public string Password { get; set; }
    Property Value
    Type Description
    System.String

    RevisionCount

    Number of revisions available in the document. See SaveAsRevision(String)

    Declaration
    public int RevisionCount { get; }
    Property Value
    Type Description
    System.Int32

    SecuritySettings

    Advanced security settings for the PDF.

    Allows the developer to control user access passwords, encryption, and also who may edit, print and copy content from the PDF document

    Declaration
    public PdfSecuritySettings SecuritySettings { get; }
    Property Value
    Type Description
    PdfSecuritySettings

    Advanced security settings for this PDF as an instance of PdfSecuritySettings

    Stream

    Gets the binary data for the full PDF file as a Stream.

    This Stream is System.IDisposable and should be disposed with "using" or "Dispose()" methods.

    Declaration
    public MemoryStream Stream { get; }
    Property Value
    Type Description
    System.IO.MemoryStream

    The PDF file as a new MemoryStream which is System.IDisposable and should be disposed with "using" or "Dispose()" methods.

    Methods

    AddBackgroundPdf(PdfDocument, Int32)

    Adds a background to each page of this PDF. The background is copied from a page in another PDF document.

    Declaration
    public PdfDocument AddBackgroundPdf(PdfDocument BackgroundPdf, int BackgroundPdfPageIndex = 0)
    Parameters
    Type Name Description
    PdfDocument BackgroundPdf

    The Background PDF as a PdfDocument.

    System.Int32 BackgroundPdfPageIndex

    Index (zero-based page number) to copy from the BackgroundPdf.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddBackgroundPdf(String, Int32)

    Adds a background to each page of this PDF. The background is copied from a page in another PDF document.

    Declaration
    public PdfDocument AddBackgroundPdf(string BackgroundPdfPath, int BackgroundPdfPageIndex = 0)
    Parameters
    Type Name Description
    System.String BackgroundPdfPath

    The background PDF's file path.

    System.Int32 BackgroundPdfPageIndex

    Index (zero-based page number) to copy from the BackgroundPdf.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddBackgroundPdfToPage(Int32, PdfDocument, Int32)

    Adds the background to one page of this PDF. The background is copied from a page in another PDF document.

    Declaration
    public PdfDocument AddBackgroundPdfToPage(int ToPageIndex, PdfDocument BackgroundPdf, int BackgroundPdfPageIndex = 0)
    Parameters
    Type Name Description
    System.Int32 ToPageIndex

    Index (zero-based page number) of the page of this PDF to which the background will be applied to.

    PdfDocument BackgroundPdf

    The Background PDF as a PdfDocument.

    System.Int32 BackgroundPdfPageIndex

    Index (zero-based page number) to copy from the BackgroundPdf.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddBackgroundPdfToPage(Int32, String, Int32)

    Adds the background to one page of this PDF. The background is copied from a page in another PDF document.

    Declaration
    public PdfDocument AddBackgroundPdfToPage(int ToPageIndex, string BackgroundPdfPath, int BackgroundPdfPageIndex = 0)
    Parameters
    Type Name Description
    System.Int32 ToPageIndex

    Index (zero-based page number) of the page of this PDF to which the background will be applied to.

    System.String BackgroundPdfPath

    The background PDF path.

    System.Int32 BackgroundPdfPageIndex

    Index (zero-based page number) to copy from the BackgroundPdf.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddBackgroundPdfToPageRange(IEnumerable<Int32>, PdfDocument, Int32)

    Adds the background to specified pages of this PDF. The background is copied from a page in another PDF document.

    Declaration
    public PdfDocument AddBackgroundPdfToPageRange(IEnumerable<int> ToPageIndexes, PdfDocument BackgroundPdf, int BackgroundPdfPageIndex = 0)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<System.Int32> ToPageIndexes

    A list of Indexes (zero-based page numbers) of pages in this PDF to which the background will be applied to.

    PdfDocument BackgroundPdf

    The Background PDF as a PdfDocument.

    System.Int32 BackgroundPdfPageIndex

    Index (zero-based page number) to copy from the BackgroundPdf.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddBackgroundPdfToPageRange(IEnumerable<Int32>, String, Int32)

    Adds the background to specified pages of this PDF. The background is copied from a page in another PDF document.

    Declaration
    public PdfDocument AddBackgroundPdfToPageRange(IEnumerable<int> ToPageIndexes, string BackgroundPdfPath, int BackgroundPdfPageIndex = 0)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<System.Int32> ToPageIndexes

    A list of Indexes (zero-based page numbers) of pages in this PDF to which the background will be applied to.

    System.String BackgroundPdfPath

    The background PDF path.

    System.Int32 BackgroundPdfPageIndex

    Index (zero-based page number) to copy from the BackgroundPdf.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddBackgroundPdfToPageRange(Int32, Int32, PdfDocument, Int32)

    Adds the background to a range of pages in this PDF. The background is copied from a page in another PDF document.

    Declaration
    public PdfDocument AddBackgroundPdfToPageRange(int StartPageIndex, int EndPageIndex, PdfDocument BackgroundPdf, int BackgroundPdfPageIndex = 0)
    Parameters
    Type Name Description
    System.Int32 StartPageIndex

    First index (zero-based page number) to start adding backgrounds to .

    System.Int32 EndPageIndex

    Last index (zero-based page number) to end adding backgrounds to.

    PdfDocument BackgroundPdf

    The Background PDF as a PdfDocument.

    System.Int32 BackgroundPdfPageIndex

    Index (zero-based page number) to copy from the BackgroundPdf.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddBackgroundPdfToPageRange(Int32, Int32, String, Int32)

    Adds the background to a range of pages in this PDF. The background is copied from a page in another PDF document.

    Declaration
    public PdfDocument AddBackgroundPdfToPageRange(int StartPageIndex, int EndPageIndex, string BackgroundPdfPath, int BackgroundPdfPageIndex = 0)
    Parameters
    Type Name Description
    System.Int32 StartPageIndex

    First index (zero-based page number) to start adding backgrounds to .

    System.Int32 EndPageIndex

    Last index (zero-based page number) to end adding backgrounds to.

    System.String BackgroundPdfPath

    The background PDF path.

    System.Int32 BackgroundPdfPageIndex

    Index (zero-based page number) to copy from the BackgroundPdf.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddForegroundOverlayPdf(PdfDocument, Int32)

    Adds an overlay to each page of this PDF. The foreground overlay is copied from a page in another PDF document.

    Declaration
    public PdfDocument AddForegroundOverlayPdf(PdfDocument OverlayPdf, int OverlayPdfPageIndex = 0)
    Parameters
    Type Name Description
    PdfDocument OverlayPdf

    The overlay PDF as a PdfDocument.

    System.Int32 OverlayPdfPageIndex

    Index (zero-based page number) to copy from the Overlay PDF.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddForegroundOverlayPdf(String, Int32)

    Adds an overlay to each page of this PDF. The foreground overlay is copied from a page in another PDF document.

    Declaration
    public PdfDocument AddForegroundOverlayPdf(string OverlayPdfPath, int OverlayPdfPageIndex = 0)
    Parameters
    Type Name Description
    System.String OverlayPdfPath

    The background PDF's file path.

    System.Int32 OverlayPdfPageIndex

    Index (zero-based page number) to copy from the Overlay PDF.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddForegroundOverlayPdfToPage(Int32, PdfDocument, Int32)

    Adds an overlay to one page of this PDF. The foreground overlay is copied from a page in another PDF document.

    Declaration
    public PdfDocument AddForegroundOverlayPdfToPage(int ToPageIndex, PdfDocument OverlayPdf, int OverlayPdfPageIndex = 0)
    Parameters
    Type Name Description
    System.Int32 ToPageIndex

    Index (zero-based page number) of the page of this PDF to which the foreground will be applied to.

    PdfDocument OverlayPdf

    The overlay PDF as a PdfDocument.

    System.Int32 OverlayPdfPageIndex

    Index (zero-based page number) to copy from the Overlay PDF.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddForegroundOverlayPdfToPage(Int32, String, Int32)

    Adds an overlay to one page of this PDF. The foreground overlay is copied from a page in another PDF document.

    Declaration
    public PdfDocument AddForegroundOverlayPdfToPage(int ToPageIndex, string OverlayPdfPath, int OverlayPdfPageIndex = 0)
    Parameters
    Type Name Description
    System.Int32 ToPageIndex

    Index (zero-based page number) of the page of this PDF to which the foreground will be applied to.

    System.String OverlayPdfPath

    The overlay PDF path.

    System.Int32 OverlayPdfPageIndex

    Index (zero-based page number) to copy from the Overlay PDF.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddForegroundOverlayPdfToPageRange(IEnumerable<Int32>, PdfDocument, Int32)

    Adds an overlay to a range or pages of this PDF. The foreground overlay is copied from a page in another PDF document.

    Declaration
    public PdfDocument AddForegroundOverlayPdfToPageRange(IEnumerable<int> ToPageIndexes, PdfDocument OverlayPdf, int OverlayPdfPageIndex = 0)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<System.Int32> ToPageIndexes

    A list of Indexes (zero-based page numbers) of pages in this PDF to which the overlay will be applied to.

    PdfDocument OverlayPdf

    The overlay PDF as a PdfDocument.

    System.Int32 OverlayPdfPageIndex

    Index (zero-based page number) to copy from the Overlay PDF.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddForegroundOverlayPdfToPageRange(IEnumerable<Int32>, String, Int32)

    Adds an overlay to a range or pages of this PDF. The foreground overlay is copied from a page in another PDF document.

    Declaration
    public PdfDocument AddForegroundOverlayPdfToPageRange(IEnumerable<int> ToPageIndexes, string OverlayPdfPath, int OverlayPdfPageIndex = 0)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<System.Int32> ToPageIndexes

    A list of Indexes (zero-based page numbers) of pages in this PDF to which the overlay will be applied to.

    System.String OverlayPdfPath

    The overlay PDF path.

    System.Int32 OverlayPdfPageIndex

    Index (zero-based page number) to copy from the Overlay PDF.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddForegroundOverlayPdfToPageRange(Int32, Int32, PdfDocument, Int32)

    Adds an overlay to a range or pages of this PDF. The foreground overlay is copied from a page in another PDF document.

    Declaration
    public PdfDocument AddForegroundOverlayPdfToPageRange(int StartPageIndex, int EndPageIndex, PdfDocument OverlayPdf, int OverlayPdfPageIndex = 0)
    Parameters
    Type Name Description
    System.Int32 StartPageIndex

    First index (zero-based page number) to start adding overlays to .

    System.Int32 EndPageIndex

    Last index (zero-based page number) to end adding overlays to.

    PdfDocument OverlayPdf

    The overlay PDF as a PdfDocument.

    System.Int32 OverlayPdfPageIndex

    Index (zero-based page number) to copy from the Overlay PDF.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddForegroundOverlayPdfToPageRange(Int32, Int32, String, Int32)

    Adds an overlay to a range or pages of this PDF. The foreground overlay is copied from a page in another PDF document.

    Declaration
    public PdfDocument AddForegroundOverlayPdfToPageRange(int StartPageIndex, int EndPageIndex, string OverlayPdfPath, int OverlayPdfPageIndex = 0)
    Parameters
    Type Name Description
    System.Int32 StartPageIndex

    First index (zero-based page number) to start adding overlays to .

    System.Int32 EndPageIndex

    Last index (zero-based page number) to end adding overlays to.

    System.String OverlayPdfPath

    The overlay PDF path.

    System.Int32 OverlayPdfPageIndex

    Index (zero-based page number) to copy from the Overlay PDF.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddHtmlFooters(HtmlHeaderFooter, Double, Double, Double, Int32, IEnumerable<Int32>)

    Stamps HTML page footers on top of an existing Pdf.

    Declaration
    public PdfDocument AddHtmlFooters(HtmlHeaderFooter Footer, double MarginLeft, double MarginRight, double MarginBottom, int FirstPageNumber = 1, IEnumerable<int> PageIndexesToAddFootersTo = null)
    Parameters
    Type Name Description
    HtmlHeaderFooter Footer

    A new instance of IronPdf.HtmlHeaderFooter that defines the footer content and layout.

    System.Double MarginLeft

    The left margin of the footer on the page in mm.

    System.Double MarginRight

    The right margin of the footer on the page in mm.

    System.Double MarginBottom

    The bottom margin of the footer on the page in mm.

    System.Int32 FirstPageNumber

    Optional. The number of first page for {page} mail-merge.

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexesToAddFootersTo

    Optional. The PageIndexes (zero-based page numbers) to which the footer will be added.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddHtmlFooters(HtmlHeaderFooter, Int32, IEnumerable<Int32>)

    Stamps HTML page footers on top of an existing Pdf.

    Positioning can be adjusted using the AddHtmlFooters(HtmlHeaderFooter, Double, Double, Double, Int32, IEnumerable<Int32>) overload of this method.

    Declaration
    public PdfDocument AddHtmlFooters(HtmlHeaderFooter Footer, int FirstPageNumber = 1, IEnumerable<int> PageIndexesToAddFootersTo = null)
    Parameters
    Type Name Description
    HtmlHeaderFooter Footer

    A new instance of IronPdf.HtmlHeaderFooter that defines the footer content and layout.

    System.Int32 FirstPageNumber

    Optional. The number of first page for {page} mail-merge.

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexesToAddFootersTo

    Optional. The PageIndexes (zero-based page numbers) to which the footer will be added.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddHtmlHeaders(HtmlHeaderFooter, Double, Double, Double, Int32, IEnumerable<Int32>)

    Stamps HTML page headers on top of an existing Pdf.

    Declaration
    public PdfDocument AddHtmlHeaders(HtmlHeaderFooter Header, double MarginLeft, double MarginRight, double MarginTop, int FirstPageNumber = 1, IEnumerable<int> PageIndexesToAddHeadersTo = null)
    Parameters
    Type Name Description
    HtmlHeaderFooter Header

    A new instance of IronPdf.HtmlHeaderFooter that defines the header content and layout.

    System.Double MarginLeft

    The left margin of the header on the page in mm.

    System.Double MarginRight

    The right margin of the header on the page in mm.

    System.Double MarginTop

    The top margin of the header on the page in mm.

    System.Int32 FirstPageNumber

    Optional. The number of first page for {page} mail-merge.

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexesToAddHeadersTo

    Optional. The PageIndexes (zero-based page numbers) to which the header will be added.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddHtmlHeaders(HtmlHeaderFooter, Int32, IEnumerable<Int32>)

    Stamps HTML page headers on top of an existing PDF.

    Positioning can be adjusted using the AddHtmlHeaders(HtmlHeaderFooter, Double, Double, Double, Int32, IEnumerable<Int32>) to specify header margins

    Declaration
    public PdfDocument AddHtmlHeaders(HtmlHeaderFooter Header, int FirstPageNumber = 1, IEnumerable<int> PageIndexesToAddHeadersTo = null)
    Parameters
    Type Name Description
    HtmlHeaderFooter Header

    A new instance of IronPdf.HtmlHeaderFooter that defines the header content and layout.

    System.Int32 FirstPageNumber

    Optional. The number of first page for {page} mail-merge.

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexesToAddHeadersTo

    Optional. The PageIndexes (zero-based page numbers) to which the header will be added.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddHtmlHeadersAndFooters(ChromePdfRenderOptions, IEnumerable<Int32>)

    Stamps HTML headers and footers on top of an existing PDF using the specified render options and optional list of page indices.

    Declaration
    public PdfDocument AddHtmlHeadersAndFooters(ChromePdfRenderOptions Options, IEnumerable<int> PageIndexes = null)
    Parameters
    Type Name Description
    ChromePdfRenderOptions Options

    Render options for the HTML headers and footers

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexes

    Optional list of page indices to apply headers and footers to. Defaults to all pages

    Returns
    Type Description
    PdfDocument

    Pdf document

    AddTextFooters(TextHeaderFooter, Double, Double, Double, Int32, IEnumerable<Int32>)

    Stamps page footers on top of an existing Pdf.

    Declaration
    public PdfDocument AddTextFooters(TextHeaderFooter Footer, double MarginLeft, double MarginRight, double MarginBottom, int FirstPageNumber = 1, IEnumerable<int> PageIndexesToAddFootersTo = null)
    Parameters
    Type Name Description
    TextHeaderFooter Footer

    A new instance of IronPdf.SimpleHeaderFooter that defines the footer content and layout.

    System.Double MarginLeft

    The left margin of the footer on the page in mm.

    System.Double MarginRight

    The right margin of the footer on the page in mm.

    System.Double MarginBottom

    The bottom margin of the footer on the page in mm.

    System.Int32 FirstPageNumber

    Optional. The number of first page for {page} mail-merge.

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexesToAddFootersTo

    Optional. The PageIndexes (zero-based page numbers) to which the footer will be added.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddTextFooters(TextHeaderFooter, Int32, IEnumerable<Int32>)

    Stamps page footers on top of an existing Pdf.

    Positioning can be adjusted using the AddTextFooters(TextHeaderFooter, Double, Double, Double, Int32, IEnumerable<Int32>) overload of this method.

    Declaration
    public PdfDocument AddTextFooters(TextHeaderFooter Footer, int FirstPageNumber = 1, IEnumerable<int> PageIndexesToAddFootersTo = null)
    Parameters
    Type Name Description
    TextHeaderFooter Footer

    A new instance of IronPdf.TextHeaderFooter that defines the footer content.

    System.Int32 FirstPageNumber

    Optional. The number of first page for {page} mail-merge.

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexesToAddFootersTo

    Optional. The PageIndexes (zero-based page numbers) to which the footer will be added.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddTextHeaders(TextHeaderFooter, Double, Double, Double, Int32, IEnumerable<Int32>)

    Stamps page headers on top of an existing Pdf.

    Declaration
    public PdfDocument AddTextHeaders(TextHeaderFooter Header, double MarginLeft, double MarginRight, double MarginTop, int FirstPageNumber = 1, IEnumerable<int> PageIndexesToAddHeadersTo = null)
    Parameters
    Type Name Description
    TextHeaderFooter Header

    A new instance of IronPdf.SimpleHeaderFooter that defines the header content and layout.

    System.Double MarginLeft

    The left margin of the header on the page in mm.

    System.Double MarginRight

    The right margin of the header on the page in mm.

    System.Double MarginTop

    The top margin of the header on the page in mm.

    System.Int32 FirstPageNumber

    Optional. The number of first page for {page} mail-merge.

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexesToAddHeadersTo

    Optional. The PageIndexes (zero-based page numbers) to which the header will be added.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddTextHeaders(TextHeaderFooter, Int32, IEnumerable<Int32>)

    Stamps page headers on top of an existing Pdf.

    Positioning can be adjusted using the AddTextHeaders(TextHeaderFooter, Double, Double, Double, Int32, IEnumerable<Int32>) overload of this method.

    Declaration
    public PdfDocument AddTextHeaders(TextHeaderFooter Header, int FirstPageNumber = 1, IEnumerable<int> PageIndexesToAddHeadersTo = null)
    Parameters
    Type Name Description
    TextHeaderFooter Header

    A new instance of IronPdf.TextHeaderFooter that defines the header content and layout.

    System.Int32 FirstPageNumber

    Optional. The number of first page for {page} mail-merge.

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexesToAddHeadersTo

    Optional. The PageIndexes (zero-based page numbers) to which the header will be added.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    AddTextHeadersAndFooters(ChromePdfRenderOptions, IEnumerable<Int32>)

    Stamps text headers and footers on top of an existing PDF using the specified render options and optional list of page indices.

    Declaration
    public PdfDocument AddTextHeadersAndFooters(ChromePdfRenderOptions Options, IEnumerable<int> PageIndexes = null)
    Parameters
    Type Name Description
    ChromePdfRenderOptions Options

    Render options for the text headers and footers

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexes

    Optional list of page indices to apply headers and footers to. Defaults to all pages

    Returns
    Type Description
    PdfDocument

    Pdf document

    AppendPdf(PdfDocument)

    Appends another PDF to the end of the current PdfDocument If AnotherPdfFile contains form fields, those fields will be appended with '' in the resulting PDF. e.g. 'Name' will be 'Name'

    Declaration
    public PdfDocument AppendPdf(PdfDocument AnotherPdfFile)
    Parameters
    Type Name Description
    PdfDocument AnotherPdfFile

    PdfDocument to append.

    Returns
    Type Description
    PdfDocument

    A new PdfDocument

    ApplyMultipleStamps(IEnumerable<Stamper>, IEnumerable<Int32>)

    Edits the PDF by applying multiple Stamper's rendered Html to only selected page(s).

    Declaration
    public PdfDocument ApplyMultipleStamps(IEnumerable<Stamper> Stampers, IEnumerable<int> PageIndexesToStamp = null)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<Stamper> Stampers

    A list of Stamper objects, each with their own HTML stamp, to all be stamped onto the PDF.

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexesToStamp

    The page indexes (zero-based page number) to apply the stamps to.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument, allowing for a 'fluent' (LINQ like) chained in-line code style

    Remarks

    Note: This method combines all the provided Stamper objects into a single composite stamp before applying it to each page. As a result, the final stamp appearance may differ slightly from the ApplyStamp(Stamper) method, which applies a single stamp at a time per page. Additionally, this method is generally faster than applying stamps one by one using ApplyStamp(Stamper) as it reduces multiple renderings and page processing operations.

    ApplyMultipleStamps(IEnumerable<Stamper>, Int32)

    Edits the PDF by applying multiple Stamper's rendered Html to a single page.

    Declaration
    public PdfDocument ApplyMultipleStamps(IEnumerable<Stamper> Stampers, int PageIndexToStamp)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<Stamper> Stampers

    A list of Stamper objects, each with their own HTML stamp, to all be stamped onto the PDF.

    System.Int32 PageIndexToStamp

    The page index (zero-based page number) to apply the stamps to.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument, allowing for a 'fluent' (LINQ like) chained in-line code style

    Remarks

    Note: This method combines all the provided Stamper objects into a single composite stamp before applying it to each page. As a result, the final stamp appearance may differ slightly from the ApplyStamp(Stamper) method, which applies a single stamp at a time per page. Additionally, this method is generally faster than applying stamps one by one using ApplyStamp(Stamper) as it reduces multiple renderings and page processing operations.

    ApplyMultipleStampsAsync(IEnumerable<Stamper>)

    Asynchronously edits the PDF by applying multiple Stamper's rendered Html to every page.

    Declaration
    public Task<PdfDocument> ApplyMultipleStampsAsync(IEnumerable<Stamper> Stampers)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<Stamper> Stampers

    A list of Stamper objects, each with their own HTML stamp, to all be stamped onto the PDF.

    Returns
    Type Description
    System.Threading.Tasks.Task<PdfDocument>

    Returns this PdfDocument, allowing for a 'fluent' (LINQ like) chained in-line code style

    Remarks

    Note: This method combines all the provided Stamper objects into a single composite stamp before applying it to each page. As a result, the final stamp appearance may differ slightly from the ApplyStamp(Stamper) method, which applies a single stamp at a time per page. Additionally, this method is generally faster than applying stamps one by one using ApplyStamp(Stamper) as it reduces multiple renderings and page processing operations.

    ApplyMultipleStampsAsync(IEnumerable<Stamper>, IEnumerable<Int32>)

    Asynchronously edits the PDF by applying multiple Stamper's rendered Html to only selected page(s).

    Declaration
    public Task<PdfDocument> ApplyMultipleStampsAsync(IEnumerable<Stamper> Stampers, IEnumerable<int> PageIndexesToStamp)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<Stamper> Stampers

    A list of Stamper objects, each with their own HTML stamp, to all be stamped onto the PDF.

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexesToStamp

    The page indexes (zero-based page number) to apply the stamps to.

    Returns
    Type Description
    System.Threading.Tasks.Task<PdfDocument>

    Returns this PdfDocument, allowing for a 'fluent' (LINQ like) chained in-line code style

    Remarks

    Note: This method combines all the provided Stamper objects into a single composite stamp before applying it to each page. As a result, the final stamp appearance may differ slightly from the ApplyStamp(Stamper) method, which applies a single stamp at a time per page. Additionally, this method is generally faster than applying stamps one by one using ApplyStamp(Stamper) as it reduces multiple renderings and page processing operations.

    ApplyMultipleStampsAsync(IEnumerable<Stamper>, Int32)

    Asynchronously edits the PDF by applying multiple Stamper's rendered Html to a single page.

    Declaration
    public Task<PdfDocument> ApplyMultipleStampsAsync(IEnumerable<Stamper> Stampers, int PageIndexToStamp)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<Stamper> Stampers

    A list of Stamper objects, each with their own HTML stamp, to all be stamped onto the PDF.

    System.Int32 PageIndexToStamp

    The page index (zero-based page number) to apply the stamps to.

    Returns
    Type Description
    System.Threading.Tasks.Task<PdfDocument>

    Returns this PdfDocument, allowing for a 'fluent' (LINQ like) chained in-line code style

    Remarks

    Note: This method combines all the provided Stamper objects into a single composite stamp before applying it to each page. As a result, the final stamp appearance may differ slightly from the ApplyStamp(Stamper) method, which applies a single stamp at a time per page. Additionally, this method is generally faster than applying stamps one by one using ApplyStamp(Stamper) as it reduces multiple renderings and page processing operations.

    ApplyStamp(Stamper)

    Edits the PDF by applying the Stamper's rendered Html to every page.

    Declaration
    public PdfDocument ApplyStamp(Stamper Stamper)
    Parameters
    Type Name Description
    Stamper Stamper

    The Stamper object that has the HTML to be stamped onto the PDF.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument, allowing for a 'fluent' (LINQ like) chained in-line code style

    ApplyStamp(Stamper, IEnumerable<Int32>)

    Edits the PDF by applying the Stamper's rendered Html to only selected page(s).

    Declaration
    public PdfDocument ApplyStamp(Stamper Stamper, IEnumerable<int> PageIndexesToStamp)
    Parameters
    Type Name Description
    Stamper Stamper

    The Stamper object that has the HTML to be stamped onto the PDF.

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexesToStamp

    The list of page indexes (zero-based page number) to apply the stamp to.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument, allowing for a 'fluent' (LINQ like) chained in-line code style

    ApplyStamp(Stamper, Int32)

    Edits the PDF by applying the Stamper's rendered Html to a single page.

    Declaration
    public PdfDocument ApplyStamp(Stamper Stamper, int PageIndexToStamp)
    Parameters
    Type Name Description
    Stamper Stamper

    The Stamper object that has the HTML to be stamped onto the PDF.

    System.Int32 PageIndexToStamp

    The page index (zero-based page number) to apply the stamp to.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument, allowing for a 'fluent' (LINQ like) chained in-line code style

    ApplyStampAsync(Stamper)

    Asynchronously edits the PDF by applying the Stamper's rendered Html to every page.

    Declaration
    public Task<PdfDocument> ApplyStampAsync(Stamper Stamper)
    Parameters
    Type Name Description
    Stamper Stamper

    The Stamper object that has the HTML to be stamped onto the PDF.

    Returns
    Type Description
    System.Threading.Tasks.Task<PdfDocument>

    Returns this PdfDocument, allowing for a 'fluent' (LINQ like) chained in-line code style

    Remarks

    Please wait for the task to be completed before saving to file!

    ApplyStampAsync(Stamper, IEnumerable<Int32>)

    Asynchronously edits the PDF by applying the Stamper's rendered Html to only selected page(s).

    Declaration
    public Task<PdfDocument> ApplyStampAsync(Stamper Stamper, IEnumerable<int> PageIndexesToStamp)
    Parameters
    Type Name Description
    Stamper Stamper

    The Stamper object that has the HTML to be stamped onto the PDF.

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexesToStamp

    The page indexes (zero-based page number) to apply the stamps to.

    Returns
    Type Description
    System.Threading.Tasks.Task<PdfDocument>

    Returns this PdfDocument, allowing for a 'fluent' (LINQ like) chained in-line code style

    Remarks

    Please wait for the task to be completed before saving to file!

    ApplyStampAsync(Stamper, Int32)

    Asynchronously edits the PDF by applying the Stamper's rendered Html to a single page.

    Declaration
    public Task<PdfDocument> ApplyStampAsync(Stamper Stamper, int PageIndexToStamp)
    Parameters
    Type Name Description
    Stamper Stamper

    The Stamper object that has the HTML to be stamped onto the PDF.

    System.Int32 PageIndexToStamp

    The page index (zero-based page number) to apply the stamp to.

    Returns
    Type Description
    System.Threading.Tasks.Task<PdfDocument>

    Returns this PdfDocument, allowing for a 'fluent' (LINQ like) chained in-line code style

    Remarks

    Please wait for the task to be completed before saving to file!

    ApplyWatermark(String, Int32, VerticalAlignment, HorizontalAlignment)

    Adds Watermark to PDF, Please use ApplyStamp(Stamper) for more control.

    For more information and a code example please visit: https://ironpdf.com/tutorials/csharp-edit-pdf-complete-tutorial/#add-a-watermark-to-a-pdf

    Declaration
    public PdfDocument ApplyWatermark(string html, int opacity = 50, VerticalAlignment verticalAlignment, HorizontalAlignment horizontalAlignment)
    Parameters
    Type Name Description
    System.String html

    The HTML fragment which will be stamped onto your PDF.

    System.Int32 opacity

    Watermark transparent value. 0 is invisible, 100 if fully opaque.

    VerticalAlignment verticalAlignment

    The vertical alignment of the watermark relative to the page.

    HorizontalAlignment horizontalAlignment

    The horizontal alignment of the watermark relative to the page.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument, allowing for a 'fluent' (LINQ like) chained in-line code style

    ApplyWatermark(String, Int32, Int32, VerticalAlignment, HorizontalAlignment)

    Adds Watermark to PDF, Please use ApplyStamp(Stamper) for more control.

    For more information and a code example please visit: https://ironpdf.com/tutorials/csharp-edit-pdf-complete-tutorial/#add-a-watermark-to-a-pdf

    Declaration
    public PdfDocument ApplyWatermark(string html, int rotation, int opacity = 50, VerticalAlignment verticalAlignment, HorizontalAlignment horizontalAlignment)
    Parameters
    Type Name Description
    System.String html

    The HTML fragment which will be stamped onto your PDF.

    System.Int32 rotation

    Rotates the watermark clockwise from 0 to 360 degrees as specified.

    System.Int32 opacity

    Watermark transparent value. 0 is invisible, 100 if fully opaque.

    VerticalAlignment verticalAlignment

    The vertical alignment of the watermark relative to the page.

    HorizontalAlignment horizontalAlignment

    The horizontal alignment of the watermark relative to the page.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument, allowing for a 'fluent' (LINQ like) chained in-line code style

    CombinePages(Double, Double, Int32, Int32, Boolean)

    Combine all pages of this document into a NEW document with the pages organized into a grid of columns and rows

    Declaration
    public PdfDocument CombinePages(double NewWidth, double NewHeight, int Columns, int Rows, bool DrawBorders = false)
    Parameters
    Type Name Description
    System.Double NewWidth

    Width of the new document, in millimeters

    System.Double NewHeight

    Height of the new document, in millimeters

    System.Int32 Columns

    Number of columns-per-page in the new document

    System.Int32 Rows

    Number of rows-per-page in the new document

    System.Boolean DrawBorders

    Draw borders around each individual page

    Returns
    Type Description
    PdfDocument

    New document with the specified number of columns and rows per page

    Compress(CompressionOptions)

    Compress the PDF document using the specified options

    Declaration
    public void Compress(CompressionOptions Options = null)
    Parameters
    Type Name Description
    CompressionOptions Options

    Compression options. See CompressionOptions

    Remarks

    Compression can drastically reduce the size of a document by removing unused features or by reducing quality.

    CompressImages(Int32, Boolean, Boolean)

    Compress existing images using JPG encoding and the specified settings

    Declaration
    public void CompressImages(int Quality, bool ShrinkImage = true, bool HighQualitySubsampling = true)
    Parameters
    Type Name Description
    System.Int32 Quality

    Quality (1 - 100) to use during compression

    System.Boolean ShrinkImage

    Scale down the image resolution according to its visible size in the PDF document.

    This will drastically reduce the size and quality of the images.

    System.Boolean HighQualitySubsampling

    True to use 444 chroma subsampling for a higher quality image. False to use 411 chrome subsampling to further reduce the image size.

    Exceptions
    Type Condition
    System.ArgumentOutOfRangeException

    Argument out of range

    CompressStructTree()

    Remove document struct tree information which describes the logical layout of the document.

    Removing the "structure tree" can significantly reduce the disk space used by the document.

    Removing the "structure tree" of a complicated document can negatively impact text selection.

    Declaration
    public void CompressStructTree()

    ConvertToPdfA(PdfAVersions, String)

    Convert the current document into the specified PDF/A standard format with selected icc file

    Declaration
    public PdfDocument ConvertToPdfA(PdfAVersions PdfAVersion, string CustomICC = null)
    Parameters
    Type Name Description
    PdfAVersions PdfAVersion

    (Optional) PDF/A standard format

    System.String CustomICC

    (Optional) Custom color profile file path

    Returns
    Type Description
    PdfDocument

    A PDF/A compliant reference to this document

    ConvertToPdfA(IEnumerable<EmbedFileByte>, PdfAVersions, String)

    Convert the current document into the specified PDF/A standard format with embedded files and selected icc file

    Declaration
    public PdfDocument ConvertToPdfA(IEnumerable<EmbedFileByte> EmbedFileBytes, PdfAVersions PdfAVersion, string CustomICC = null)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<EmbedFileByte> EmbedFileBytes

    Collection of byte[] and their file type of embedding file with type of that file to the PDF/A document

    PdfAVersions PdfAVersion

    (Optional) PDF/A standard format

    System.String CustomICC

    (Optional) Custom color profile file path

    Returns
    Type Description
    PdfDocument

    A PDF/A compliant reference to this document with embedded files

    ConvertToPdfA(IEnumerable<EmbedFilePath>, PdfAVersions, String)

    Convert the current document into the specified PDF/A standard format with embedded files and selected icc file

    Declaration
    public PdfDocument ConvertToPdfA(IEnumerable<EmbedFilePath> EmbedFilePaths, PdfAVersions PdfAVersion, string CustomICC = null)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<EmbedFilePath> EmbedFilePaths

    Collection of path to embedding file to the PDF/A document

    PdfAVersions PdfAVersion

    (Optional) PDF/A standard format

    System.String CustomICC

    (Optional) Custom color profile file path

    Returns
    Type Description
    PdfDocument

    A PDF/A compliant reference to this document with embedded files

    ConvertToPdfA(IEnumerable<EmbedFileStream>, PdfAVersions, String)

    Convert the current document into the specified PDF/A standard format with embedded files and selected icc file

    Declaration
    public PdfDocument ConvertToPdfA(IEnumerable<EmbedFileStream> EmbedFileStreams, PdfAVersions PdfAVersion, string CustomICC = null)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<EmbedFileStream> EmbedFileStreams

    Collection of Stream and their file type of embedding file with type of that file to the PDF/A document

    PdfAVersions PdfAVersion

    (Optional) PDF/A standard format

    System.String CustomICC

    (Optional) Custom color profile file path

    Returns
    Type Description
    PdfDocument

    A PDF/A compliant reference to this document with embedded files

    ConvertToPdfA(IEnumerable<String>, PdfAVersions, String)

    Convert the current document into the specified PDF/A standard format with embedded files and selected icc file using the default EmbedFileConfiguration

    Declaration
    public PdfDocument ConvertToPdfA(IEnumerable<string> EmbedFilePaths, PdfAVersions PdfAVersion, string CustomICC = null)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<System.String> EmbedFilePaths

    Collection of string path to embedding file to the PDF/A document

    PdfAVersions PdfAVersion

    (Optional) PDF/A standard format

    System.String CustomICC

    (Optional) Custom color profile file path

    Returns
    Type Description
    PdfDocument

    A PDF/A compliant reference to this document with embedded files

    Remarks

    To use custom EmbedFileConfiguration, using a collection of EmbedFilePath, EmbedFileByte, or EmbedFileStream instead a collection of string path

    ConvertToPdfUA(PdfUAVersions, NaturalLanguages)

    Convert the current document into the specified PDF/UA standard format

    Declaration
    public PdfDocument ConvertToPdfUA(PdfUAVersions PdfUAVersion, NaturalLanguages NaturalLanguage)
    Parameters
    Type Name Description
    PdfUAVersions PdfUAVersion

    PDF-UA standard format

    NaturalLanguages NaturalLanguage

    Natural languages specification

    Returns
    Type Description
    PdfDocument

    A PDF/A compliant reference to this document

    CopyPage(Int32)

    Creates a new PDF by copying a page from this PdfDocument.

    Declaration
    public PdfDocument CopyPage(int PageIndex)
    Parameters
    Type Name Description
    System.Int32 PageIndex

    Index of the page. Note: Page 1 has index 0...

    Returns
    Type Description
    PdfDocument

    A new PdfDocument

    CopyPages(IEnumerable<Int32>)

    Creates a new PDF by copying a range of pages from this PdfDocument.

    Declaration
    public PdfDocument CopyPages(IEnumerable<int> PageIndexes)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<System.Int32> PageIndexes

    An IEnumerable of page indexes to copy into the new PDF.

    Returns
    Type Description
    PdfDocument

    A new PdfDocument

    CopyPages(Int32, Int32)

    Creates a new PDF by copying a range of pages from this PdfDocument.

    Declaration
    public PdfDocument CopyPages(int StartIndex, int EndIndex)
    Parameters
    Type Name Description
    System.Int32 StartIndex

    The index of the first PDF page to copy.. Note: Page 1 has index 0

    System.Int32 EndIndex

    The index of the last PDF page to copy.>

    Returns
    Type Description
    PdfDocument

    A new PdfDocument

    Dispose()

    Releases used resources.

    Declaration
    public void Dispose()

    DrawBitmap(AnyBitmap, IEnumerable<Int32>, IEnumerable<Double>, IEnumerable<Double>, IEnumerable<Double>, IEnumerable<Double>, PixelFormat)

    Draw a bitmap multiple times according to the specified parameters; all occurrences of the bitmap will share a single data stream

    Declaration
    public void DrawBitmap(AnyBitmap Bitmap, IEnumerable<int> PageIndices, IEnumerable<double> XCoordinates, IEnumerable<double> YCoordinates, IEnumerable<double> DesiredWidths, IEnumerable<double> DesiredHeights, PixelFormat PixelFormat)
    Parameters
    Type Name Description
    IronSoftware.Drawing.AnyBitmap Bitmap

    AnyBitmap to draw

    System.Collections.Generic.IEnumerable<System.Int32> PageIndices

    Target page indices

    System.Collections.Generic.IEnumerable<System.Double> XCoordinates

    X coordinates

    System.Collections.Generic.IEnumerable<System.Double> YCoordinates

    Y coordinates

    System.Collections.Generic.IEnumerable<System.Double> DesiredWidths

    Desired widths

    System.Collections.Generic.IEnumerable<System.Double> DesiredHeights

    Desired heights

    PixelFormat PixelFormat

    Pixel format

    DrawBitmap(AnyBitmap, Int32, Double, Double, Double, Double, PixelFormat)

    Draw a bitmap a single time according to the specified parameters

    Declaration
    public void DrawBitmap(AnyBitmap Bitmap, int PageIndex, double X, double Y, double DesiredWidth, double DesiredHeight, PixelFormat PixelFormat)
    Parameters
    Type Name Description
    IronSoftware.Drawing.AnyBitmap Bitmap

    Bitmap to draw

    System.Int32 PageIndex

    Page index

    System.Double X

    X coordinate

    System.Double Y

    Y coordinate

    System.Double DesiredWidth

    Desired width

    System.Double DesiredHeight

    Desired Height

    PixelFormat PixelFormat

    Pixel format

    DrawLine(Int32, PointF, PointF, Double, Color)

    Draw a line using the specified parameters

    Declaration
    public void DrawLine(int PageIndex, PointF Start, PointF End, double Width, Color Color)
    Parameters
    Type Name Description
    System.Int32 PageIndex

    Page index

    IronSoftware.Drawing.PointF Start

    Start coordinate

    IronSoftware.Drawing.PointF End

    End coordinate

    System.Double Width

    Line width

    IronSoftware.Drawing.Color Color

    Line color

    DrawRectangle(Int32, RectangleF, Color, Color, Double)

    Draw a rectangle using the specified parameters

    Declaration
    public void DrawRectangle(int PageIndex, RectangleF Rect, Color LineColor, Color FillColor, double Width)
    Parameters
    Type Name Description
    System.Int32 PageIndex

    Page index

    IronSoftware.Drawing.RectangleF Rect

    Rectangle

    IronSoftware.Drawing.Color LineColor

    Line color

    IronSoftware.Drawing.Color FillColor

    Fill color

    System.Double Width

    Line width

    DrawText(String, PdfFont, Double, Int32, Double, Double, Color, Double)

    Draw text according to the specified parameters To draw Unicode (non-latin) text, add a specific Unicode font using PdfDocument.Fonts.Add(byte[]) and pass the font name as FontName

    Declaration
    public void DrawText(string Text, PdfFont Font, double FontSize, int PageIndex, double X, double Y, Color Color, double Rotation)
    Parameters
    Type Name Description
    System.String Text

    Text to draw

    PdfFont Font

    Font (must be a system font or already added to the document using Fonts.Add())

    System.Double FontSize

    Font size

    System.Int32 PageIndex

    Page index

    System.Double X

    X coordinate

    System.Double Y

    Y coordinate

    IronSoftware.Drawing.Color Color

    Desired font color

    System.Double Rotation

    Text rotation (degrees, clockwise)

    DrawText(String, String, Double, Int32, Double, Double, Color, Double)

    Draw text according to the specified parameters To draw Unicode (non-latin) text, add a specific Unicode font using PdfDocument.Fonts.Add(byte[]) and pass the font name as FontName

    Declaration
    public void DrawText(string Text, string FontName, double FontSize, int PageIndex, double X, double Y, Color Color, double Rotation)
    Parameters
    Type Name Description
    System.String Text

    Text to draw

    System.String FontName

    Font name (must be a system font or already added to the document using Fonts.Add())

    System.Double FontSize

    Font size

    System.Int32 PageIndex

    Page index

    System.Double X

    X coordinate

    System.Double Y

    Y coordinate

    IronSoftware.Drawing.Color Color

    Desired font color

    System.Double Rotation

    Text rotation (degrees, clockwise)

    Equals(Object)

    Declaration
    public override bool Equals(object obj)
    Parameters
    Type Name Description
    System.Object obj
    Returns
    Type Description
    System.Boolean

    ExtendPage(Int32, Double, Double, Double, Double, MeasurementUnit)

    Extends page bounds using the specified parameters (in millimeters)

    Does not resize page content; results in an empty margin around existing page content

    Declaration
    public void ExtendPage(int PageIndex, double ExtendLeft, double ExtendRight, double ExtendTop, double ExtendBottom, MeasurementUnit Units)
    Parameters
    Type Name Description
    System.Int32 PageIndex

    Page to resize

    System.Double ExtendLeft

    Desired amount (mm) to extend page width towards the left

    System.Double ExtendRight

    Desired amount (mm) to extend page width towards the right

    System.Double ExtendTop

    Desired amount (mm) to extend page height towards the top

    System.Double ExtendBottom

    Desired amount (mm) to extend page height towards the bottom

    MeasurementUnit Units

    Optionally specify units of measurement for input parameters

    ExtractAllBitmaps()

    Finds all embedded Images from within the PDF and returns then as IronSoftware.Drawing.AnyBitmap objects

    Declaration
    public List<AnyBitmap> ExtractAllBitmaps()
    Returns
    Type Description
    System.Collections.Generic.List<IronSoftware.Drawing.AnyBitmap>

    The extracted images as IronSoftware.Drawing.AnyBitmap

    ExtractAllImages()

    Finds all embedded Images from within the PDF and returns then as IronSoftware.Drawing.AnyBitmap objects

    Declaration
    public List<AnyBitmap> ExtractAllImages()
    Returns
    Type Description
    System.Collections.Generic.List<IronSoftware.Drawing.AnyBitmap>

    The extracted images as IronSoftware.Drawing.AnyBitmap

    ExtractAllRawImages()

    Extracts all images from a PDf document. Images are returned as their raw data in as Byte Arrays (byte[])

    Declaration
    public List<byte[]> ExtractAllRawImages()
    Returns
    Type Description
    System.Collections.Generic.List<System.Byte[]>

    An Enumerable of Byte Arrays. Each Byte Array represents one image.

    ExtractAllText(TextExtractionOrder)

    Extracts the written text content from the PDF and returns it as a string.

    Pages are be separated by 4 consecutive Environment.NewLines

    Declaration
    public string ExtractAllText(TextExtractionOrder Order)
    Parameters
    Type Name Description
    TextExtractionOrder Order

    Determines order of how text is extracted from each page (see TextExtractionOrder

    Returns
    Type Description
    System.String

    All text in the PDF as a string.

    ExtractBitmapsFromPage(Int32)

    Finds all embedded Images from within one page of the PDF and returns them as IronSoftware.Drawing.AnyBitmap objects

    Declaration
    public List<AnyBitmap> ExtractBitmapsFromPage(int PageIndex)
    Parameters
    Type Name Description
    System.Int32 PageIndex

    Index of the page. Note: Page 1 has index 0...

    Returns
    Type Description
    System.Collections.Generic.List<IronSoftware.Drawing.AnyBitmap>

    The extracted images as IronSoftware.Drawing.AnyBitmap Objects

    ExtractBitmapsFromPages(IEnumerable<Int32>)

    Finds all embedded Images from within a specified pages in the PDF and returns them as IronSoftware.Drawing.AnyBitmap objects

    Declaration
    public List<AnyBitmap> ExtractBitmapsFromPages(IEnumerable<int> PageIndexes)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<System.Int32> PageIndexes

    An IEnumerable list of page indexes.

    Returns
    Type Description
    System.Collections.Generic.List<IronSoftware.Drawing.AnyBitmap>

    IEnumerable of AnyBitmap. The extracted images as IronSoftware.Drawing.AnyBitmap Objects

    ExtractBitmapsFromPages(Int32, Int32)

    Finds all embedded Images from within a range of pages in the PDF and returns them as IronSoftware.Drawing.AnyBitmap objects

    Declaration
    public List<AnyBitmap> ExtractBitmapsFromPages(int StartIndex, int EndIndex)
    Parameters
    Type Name Description
    System.Int32 StartIndex

    The index of the first PDF page to extract images from.. Note: Page 1 has index 0

    System.Int32 EndIndex

    The index of the last PDF page to extract images from.

    Returns
    Type Description
    System.Collections.Generic.List<IronSoftware.Drawing.AnyBitmap>

    The extracted images as IronSoftware.Drawing.AnyBitmap Objects

    ExtractImagesFromPage(Int32)

    Finds all embedded Images from within one page of the PDF and returns them as IronSoftware.Drawing.AnyBitmap objects

    Declaration
    public List<AnyBitmap> ExtractImagesFromPage(int PageIndex)
    Parameters
    Type Name Description
    System.Int32 PageIndex

    Index of the page. Note: Page 1 has index 0...

    Returns
    Type Description
    System.Collections.Generic.List<IronSoftware.Drawing.AnyBitmap>

    The extracted images as IronSoftware.Drawing.AnyBitmap Objects

    ExtractImagesFromPages(IEnumerable<Int32>)

    Finds all embedded Images from within a specified pages in the PDF and returns them as IronSoftware.Drawing.AnyBitmap objects

    Declaration
    public List<AnyBitmap> ExtractImagesFromPages(IEnumerable<int> PageIndexes)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<System.Int32> PageIndexes

    An IEnumerable list of page indexes.

    Returns
    Type Description
    System.Collections.Generic.List<IronSoftware.Drawing.AnyBitmap>

    The extracted images as IronSoftware.Drawing.AnyBitmap Objects

    ExtractImagesFromPages(Int32, Int32)

    Finds all embedded Images from within a range of pages in the PDF and returns them as IronSoftware.Drawing.AnyBitmap objects

    Declaration
    public List<AnyBitmap> ExtractImagesFromPages(int StartIndex, int EndIndex)
    Parameters
    Type Name Description
    System.Int32 StartIndex

    The index of the first PDF page to extract images from.. Note: Page 1 has index 0

    System.Int32 EndIndex

    The index of the last PDF page to extract images from.

    Returns
    Type Description
    System.Collections.Generic.List<IronSoftware.Drawing.AnyBitmap>

    The extracted images as IronSoftware.Drawing.AnyBitmap Objects

    ExtractRawImagesFromPage(Int32)

    Finds all embedded Images from within one page of the PDF and returns them as raw image byte array objects

    Declaration
    public List<byte[]> ExtractRawImagesFromPage(int PageIndex)
    Parameters
    Type Name Description
    System.Int32 PageIndex

    Index of the page. Note: Page 1 has index 0...

    Returns
    Type Description
    System.Collections.Generic.List<System.Byte[]>

    List of raw image byte array.

    ExtractRawImagesFromPages(IEnumerable<Int32>)

    Finds all embedded Images from specified pages in the PDF and returns them as raw image byte array objects objects

    Declaration
    public List<byte[]> ExtractRawImagesFromPages(IEnumerable<int> PageIndexes)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<System.Int32> PageIndexes

    An IEnumerable list of page indexes.

    Returns
    Type Description
    System.Collections.Generic.List<System.Byte[]>

    List of raw image byte array.

    ExtractRawImagesFromPages(Int32, Int32)

    Finds all embedded Images from within a range of pages in the PDF and returns them as raw image byte array objects

    Declaration
    public List<byte[]> ExtractRawImagesFromPages(int StartIndex, int EndIndex)
    Parameters
    Type Name Description
    System.Int32 StartIndex

    The index of the first PDF page to extract images from.. Note: Page 1 has index 0

    System.Int32 EndIndex

    The index of the last PDF page to extract images from.

    Returns
    Type Description
    System.Collections.Generic.List<System.Byte[]>

    List of raw image byte array.

    ExtractTextFromPage(Int32)

    Extracts the text content from one page of the PDF and returns it as a string.

    Declaration
    public string ExtractTextFromPage(int PageIndex)
    Parameters
    Type Name Description
    System.Int32 PageIndex

    Index of the page. Note: Page 1 has index 0...

    Returns
    Type Description
    System.String

    The text extracted from the PDF page as a string.

    ExtractTextFromPage(Int32, TextExtractionOrder)

    Extracts the text content from one page of the PDF and returns it as a string.

    Declaration
    public string ExtractTextFromPage(int PageIndex, TextExtractionOrder Order)
    Parameters
    Type Name Description
    System.Int32 PageIndex

    Index of the page. Note: Page 1 has index 0...

    TextExtractionOrder Order

    Determines order of how text is extracted from each page (see TextExtractionOrder

    Returns
    Type Description
    System.String

    The text extracted from the PDF page as a string.

    ExtractTextFromPages(IEnumerable<Int32>)

    Extracts the written text content from specified pages in the PDF PDF and returns it as a string. Pages will be separated by 4 consecutive Environment.NewLines

    Declaration
    public string ExtractTextFromPages(IEnumerable<int> PageIndices)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<System.Int32> PageIndices

    An IEnumerable list of page indexes.

    Returns
    Type Description
    System.String

    The text extracted from the PDF pages as a string.

    ExtractTextFromPages(IEnumerable<Int32>, TextExtractionOrder)

    Extracts the written text content from specified pages in the PDF PDF and returns it as a string. Pages will be separated by 4 consecutive Environment.NewLines

    Declaration
    public string ExtractTextFromPages(IEnumerable<int> PageIndices, TextExtractionOrder Order)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<System.Int32> PageIndices

    An IEnumerable list of page indexes.

    TextExtractionOrder Order

    Determines order of how text is extracted from each page (see TextExtractionOrder

    Returns
    Type Description
    System.String

    The text extracted from the PDF pages as a string.

    ExtractTextFromPages(Int32, Int32, TextExtractionOrder)

    Extracts the written text content from a range of pages within the PDF and returns it as a string. Pages will be separated by 4 consecutive Environment.NewLines

    Declaration
    public string ExtractTextFromPages(int StartIndex, int EndIndex, TextExtractionOrder Order)
    Parameters
    Type Name Description
    System.Int32 StartIndex

    The start page index. Note: Page 1 has index 0

    System.Int32 EndIndex

    The end page index. Note: The last page has index PageCount -1

    TextExtractionOrder Order

    Determines order of how text is extracted from each page (see TextExtractionOrder

    Returns
    Type Description
    System.String

    The text extracted from the PDF pages as a string.

    Finalize()

    Finalizer

    Declaration
    protected override void Finalize()

    Flatten(IEnumerable<Int32>)

    Flattens a document (make the fields such as Forms Fields non-editable and non-accessible).

    Declaration
    public void Flatten(IEnumerable<int> Pages = null)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<System.Int32> Pages

    Optional page indices to flatten (defaults to all pages)

    FromFile(String, String, String, ChangeTrackingModes)

    Opens an existing PDF document for editing.

    Adding a using declaration is not required. But can be used if you want to explicitly dispose. See: https://ironpdf.com/troubleshooting/ironpdf-using/

    Declaration
    public static PdfDocument FromFile(string PdfFilePath, string Password = "", string OwnerPassword = "", ChangeTrackingModes TrackChanges)
    Parameters
    Type Name Description
    System.String PdfFilePath

    The PDF file path.

    System.String Password

    Optional user password if the PDF document is encrypted.

    System.String OwnerPassword

    Optional password if the PDF document is protected by owner (printing, modifying restrictions etc..).

    ChangeTrackingModes TrackChanges

    Optionally track changes (for use with incremental saving)

    Returns
    Type Description
    PdfDocument

    An IronPdf.PdfDocument object as loaded from the file path.

    Exceptions
    Type Condition
    System.IO.IOException

    Exception thrown if can not be opened.

    System.ArgumentException

    PdfFilePath is null, empty, or consists only of white-space characters.

    FromJson(String)

    Create a new PDF document from the specified JSON string

    Declaration
    public static PdfDocument FromJson(string Json)
    Parameters
    Type Name Description
    System.String Json

    JSON string

    Returns
    Type Description
    PdfDocument

    PDF document

    Remarks

    Requires the IRON document schema

    FromJsonFile(String)

    Create a new PDF document from the specified JSON file.

    Declaration
    public static PdfDocument FromJsonFile(string Path)
    Parameters
    Type Name Description
    System.String Path

    JSON file path

    Returns
    Type Description
    PdfDocument

    PDF document

    Remarks

    Requires the IRON document schema

    FromUrl(Uri, String, String)

    Opens a PDF stored on a URL for editing.

    Adding a using declaration is not required. But can be used if you want to explicitly dispose. See: https://ironpdf.com/troubleshooting/ironpdf-using/

    Declaration
    public static PdfDocument FromUrl(Uri Uri, string Password = "", string OwnerPassword = "")
    Parameters
    Type Name Description
    System.Uri Uri

    The URI to the PDF.

    System.String Password

    Optional user password if the PDF document is encrypted.

    System.String OwnerPassword

    Optional password if the PDF document is protected by owner (printing, modifying restrictions etc..).

    Returns
    Type Description
    PdfDocument

    An IronPdf.PdfDocument object as loaded from the file path.

    Exceptions
    Type Condition
    IronPdfProductException

    Exception thrown if cannot read the PDF due to incorrect uri or password.

    GetAnnotations(Int32)

    Retrieve a list of annotations from a given page index.

    Declaration
    public List<PdfAnnotation> GetAnnotations(int pageIndex)
    Parameters
    Type Name Description
    System.Int32 pageIndex

    Index of the page for which to retrieve annotations. The index of the first page is 0.

    Returns
    Type Description
    System.Collections.Generic.List<PdfAnnotation>

    A list of annotations.

    GetHashCode()

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    System.Int32

    GetPageRotation(Int32)

    Gets the rotation of a PDF page in degrees.

    Declaration
    public PdfPageRotation GetPageRotation(int PageIndex)
    Parameters
    Type Name Description
    System.Int32 PageIndex

    Index of the page to inspect. PageIndex is a 'Zero based' page number, the first page being 0.

    Returns
    Type Description
    PdfPageRotation

    Degrees of rotation

    GetPrintDocument(PrinterSettings, PrintController, Boolean)

    Returns a System.Drawing.Printing.PrintDocument for the PDF allowing developers granular control over sending the PDF to a Printer.

    An assembly reference to System.Drawing is required in your project.

    Note: 'GetPrintDocument(PrinterSettings, PrintController, Boolean)' is only supported on: 'Windows'.

    Printer settings. Note: If you create a new PrinterSettings() we recommend setting printerSettings.DefaultPageSettings.Margins = new Margins(0, 0, 0, 0); custom printController such as PreviewPrintController for a GUI print previewFlatten the PDF before printing - useful for displaying form field values

    Declaration
    public PrintDocument GetPrintDocument(PrinterSettings printerSettings = null, PrintController printController = null, bool Flatten = false)
    Parameters
    Type Name Description
    System.Drawing.Printing.PrinterSettings printerSettings
    System.Drawing.Printing.PrintController printController
    System.Boolean Flatten
    Returns
    Type Description
    System.Drawing.Printing.PrintDocument

    A System.Drawing.Printing.PrintDocument.

    Exceptions
    Type Condition
    System.Exception

    IronPdf must be licensed to use this feature.

    GetRevision(Int32)

    Creates a copy of this document at the specified revision number. See SaveAsRevision(String)

    Declaration
    public PdfDocument GetRevision(int index)
    Parameters
    Type Name Description
    System.Int32 index

    Revision number. Revision 0 represents the original document, revision 1 is the first revision, etc.

    Returns
    Type Description
    PdfDocument

    A copy of the specified revision of this document

    GetVerifiedSignatures()

    Returns a list of VerifiedSignature.

    Declaration
    public List<VerifiedSignature> GetVerifiedSignatures()
    Returns
    Type Description
    System.Collections.Generic.List<VerifiedSignature>

    list of VerifiedSignature

    IncrementReference()

    Declaration
    public void IncrementReference()

    InsertPdf(PdfDocument, Int32)

    Inserts another PDF into the current PdfDocument, starting at a given Page Index. If AnotherPdfFile contains form fields, those fields will be appended with '' in the resulting PDF. e.g. 'Name' will be 'Name'

    Declaration
    public PdfDocument InsertPdf(PdfDocument AnotherPdfFile, int AtIndex = 0)
    Parameters
    Type Name Description
    PdfDocument AnotherPdfFile

    Another PdfDocument.

    System.Int32 AtIndex

    Index at which to insert the new content. Note: Page 1 has index 0...

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    Merge(PdfDocument, PdfDocument)

    Static method that joins (concatenates) 2 PDF documents together into one PDF document. If the PDF contains form fields the form field in the resulting PDF's name will be appended with '_{index}' e.g. 'Name' will be 'Name_0'

    Declaration
    public static PdfDocument Merge(PdfDocument A, PdfDocument B)
    Parameters
    Type Name Description
    PdfDocument A

    A PDF

    PdfDocument B

    A Seconds PDF

    Returns
    Type Description
    PdfDocument

    A new, merged PdfDocument

    Merge(IEnumerable<PdfDocument>)

    Static method that joins (concatenates) multiple PDF documents together into one compiled PDF document. If the PDF contains form fields the form field in the resulting PDF's name will be appended with '_{index}' e.g. 'Name' will be 'Name_0'

    Declaration
    public static PdfDocument Merge(IEnumerable<PdfDocument> Documents)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<PdfDocument> Documents

    A IEnumerable of PdfDocument. To merge existing PDF files you may use the PdfDocument.FromFile static method in conjunction with Merge.

    Returns
    Type Description
    PdfDocument

    A new, merged PdfDocument

    PageToBitmap(Int32, Int32, Boolean)

    Renders a single page of the PDF to a (JPEG) IronSoftware.Drawing.AnyBitmap object.

    Please add an assembly reference to IronSoftware.Drawing.AnyBitmap to use this "PDF To Image" method

    Declaration
    public AnyBitmap PageToBitmap(int pageIndex, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.Int32 pageIndex

    The zero based page number to be converted to an image. E.g. Page 1 has a pageIndex of 0

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    IronSoftware.Drawing.AnyBitmap

    A IronSoftware.Drawing.AnyBitmap of the rendered PDF page.

    PageToBitmap(Int32, Nullable<Int32>, Nullable<Int32>, Int32, Boolean)

    Renders a single page of the PDF to a (JPEG) IronSoftware.Drawing.AnyBitmap object.

    Please add an assembly reference to IronSoftware.Drawing.AnyBitmap to use this "PDF To Image" method

    Declaration
    public AnyBitmap PageToBitmap(int pageIndex, Nullable<int> imageMaxWidth, Nullable<int> imageMaxHeight, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.Int32 pageIndex

    The zero based page number to be converted to an image. E.g. Page 1 has a pageIndex of 0

    System.Nullable<System.Int32> imageMaxWidth

    The target maximum width of the output images.

    System.Nullable<System.Int32> imageMaxHeight

    The target maximum height of the output images.

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    IronSoftware.Drawing.AnyBitmap

    A IronSoftware.Drawing.AnyBitmap of the rendered PDF page.

    PageToBitmapHighQuality(Int32, Int32, Boolean)

    Renders a single page of the PDF to a (BMP) IronSoftware.Drawing.AnyBitmap object.

    Please add an assembly reference to IronSoftware.Drawing.AnyBitmap to use this "PDF To Image" method

    Declaration
    public AnyBitmap PageToBitmapHighQuality(int pageIndex, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.Int32 pageIndex

    The zero based page number to be converted to an image. E.g. Page 1 has a pageIndex of 0

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    IronSoftware.Drawing.AnyBitmap

    A IronSoftware.Drawing.AnyBitmap of the rendered PDF page.

    The resulting images have significantly larger file sizes compared to PageToBitmap(Int32, Int32, Boolean)

    Remarks

    The DPI will be ignored under Linux and macOS.

    PageToBitmapHighQuality(Int32, Nullable<Int32>, Nullable<Int32>, Int32, Boolean)

    Renders a single page of the PDF to a (BMP) IronSoftware.Drawing.AnyBitmap object.

    Please add an assembly reference to IronSoftware.Drawing.AnyBitmap to use this "PDF To Image" method

    Declaration
    public AnyBitmap PageToBitmapHighQuality(int pageIndex, Nullable<int> imageMaxWidth, Nullable<int> imageMaxHeight, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.Int32 pageIndex

    The zero based page number to be converted to an image. E.g. Page 1 has a pageIndex of 0

    System.Nullable<System.Int32> imageMaxWidth

    The target maximum width of the output images.

    System.Nullable<System.Int32> imageMaxHeight

    The target maximum height of the output images.

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    IronSoftware.Drawing.AnyBitmap

    A IronSoftware.Drawing.AnyBitmap of the rendered PDF page.

    The resulting images have significantly larger file sizes compared to PageToBitmap(Int32, Nullable<Int32>, Nullable<Int32>, Int32, Boolean)

    Remarks

    The DPI will be ignored under Linux and macOS.

    PerformOcr()

    Perform Optical Character Recognition on this document. Requires IronOcr NuGet package installed.

    Declaration
    public IOcrResult PerformOcr()
    Returns
    Type Description
    IronSoftware.IOcrResult

    OCR result.

    PrependPdf(PdfDocument)

    Adds another PDF to the beginning of the current PdfDocument If AnotherPdfFile contains form fields, those fields will be appended with '' in the resulting PDF. e.g. 'Name' will be 'Name'

    Declaration
    public PdfDocument PrependPdf(PdfDocument AnotherPdfFile)
    Parameters
    Type Name Description
    PdfDocument AnotherPdfFile

    PdfDocument to prepend.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    Print(Boolean)

    Prints this PDF by sending it to the computer's printer. (300 DPI)

    For advanced real-world printing options please see overloads of this method and also GetPrintDocument(PrinterSettings, PrintController, Boolean).

    if true print preview dialogs will be displayed to the user. Default value is false.

    Note: 'Print(Boolean)' is only supported on: 'Windows'.

    Declaration
    public Task<int> Print(bool Flatten = false)
    Parameters
    Type Name Description
    System.Boolean Flatten

    Flatten the PDF before printing - useful for displaying form field values

    Returns
    Type Description
    System.Threading.Tasks.Task<System.Int32>

    The number of printed pages.

    See Also
    GetPrintDocument(PrinterSettings, PrintController, Boolean)

    Print(Int32, Int32, String, String, PrintController, Boolean)

    Prints this PDF by sending it to the computer's printer.

    For even more advanced real-world printing options please see overloads of this method and also GetPrintDocument(PrinterSettings, PrintController, Boolean).

    Note: 'Print(Int32, Int32, String, String, PrintController, Boolean)' is only supported on: 'Windows'.

    the horizontal PDF resolution, in dots per inch.the vertical PDF resolution, in dots per inch.the name of a printer, setnull or an empty string ("") to use default print. Default value is null.the file path, when printing to a file, set or an empty string ("") for printing output is sent to a port instead of the filePath. The default value is null. custom printController such as PreviewPrintController for a GUI print previewFlatten the PDF before printing - useful for displaying form field values

    Declaration
    public Task<int> Print(int dpiX, int dpiY, string printerName = null, string filePath = null, PrintController customPrintController = null, bool Flatten = false)
    Parameters
    Type Name Description
    System.Int32 dpiX
    System.Int32 dpiY
    System.String printerName
    System.String filePath
    System.Drawing.Printing.PrintController customPrintController
    System.Boolean Flatten
    Returns
    Type Description
    System.Threading.Tasks.Task<System.Int32>

    The number of printed pages.

    See Also
    GetPrintDocument(PrinterSettings, PrintController, Boolean)

    Print(Int32, String, String, Boolean)

    Prints this PDF by sending it to the computer's printer.

    For even more advanced real-world printing options please see overloads of this method and also GetPrintDocument(PrinterSettings, PrintController, Boolean).

    Note: 'Print(Int32, String, String, Boolean)' is only supported on: 'Windows'.

    the horizontal and vertical PDF resolutions, in dots per inch. if -1 print with default printer resolution. Default value is 300.the name of a printer, setnull or an empty string ("") to use default print. Default value is null.the file path, when printing to a file, set or an empty string ("") for printing output is sent to a port instead of the FilePath. The default value is null.Flatten the PDF before printing - useful for displaying form field values

    Declaration
    public Task<int> Print(int dpi, string PrinterName = null, string FilePath = null, bool Flatten = false)
    Parameters
    Type Name Description
    System.Int32 dpi
    System.String PrinterName
    System.String FilePath
    System.Boolean Flatten
    Returns
    Type Description
    System.Threading.Tasks.Task<System.Int32>

    The number of printed pages.

    See Also
    GetPrintDocument(PrinterSettings, PrintController, Boolean)

    Print(String, Boolean)

    Prints this PDF by sending it to the computer's printer. (300 DPI)

    For even more advanced real-world printing options please see overloads of this method and also GetPrintDocument(PrinterSettings, PrintController, Boolean).

    Note: 'Print(String, Boolean)' is only supported on: 'Windows'.

    the name of a printer, setnull or an empty string ("") to use default print. Default value is null.

    Declaration
    public Task<int> Print(string PrinterName, bool Flatten = false)
    Parameters
    Type Name Description
    System.String PrinterName
    System.Boolean Flatten

    Flatten the PDF before printing - useful for displaying form field values

    Returns
    Type Description
    System.Threading.Tasks.Task<System.Int32>

    The number of printed pages.

    See Also
    GetPrintDocument(PrinterSettings, PrintController, Boolean)

    PrintToFile(Int32, String, Boolean)

    Prints this PDF by sending it to the computer's printer. (300 DPI)

    For advanced real-world printing options please see overloads of this method and also GetPrintDocument(PrinterSettings, PrintController, Boolean).

    Note: 'PrintToFile(Int32, String, Boolean)' is only supported on: 'Windows'.

    the horizontal and vertical PDF resolutions, in dots per inch. if -1 print with default printer resolution. Default value is 300.output file path, if set to null or an empty string ("") default filePath will be random GUID.Flatten the PDF before printing - useful for displaying form field values

    Declaration
    public Task<int> PrintToFile(int dpi = 300, string filePath = null, bool Flatten = false)
    Parameters
    Type Name Description
    System.Int32 dpi
    System.String filePath
    System.Boolean Flatten
    Returns
    Type Description
    System.Threading.Tasks.Task<System.Int32>

    The number of printed pages.

    See Also
    GetPrintDocument(PrinterSettings, PrintController, Boolean)

    PrintToFile(String, Boolean)

    Prints this PDF by sending it to the computer's printer. (300 DPI)

    For advanced real-world printing options please see overloads GetPrintDocument(PrinterSettings, PrintController, Boolean).

    Note: 'PrintToFile(String, Boolean)' is only supported on: 'Windows'.

    output file path, if set to null or an empty string ("") default filePath will be random GUID.Flatten the PDF before printing - useful for displaying form field values

    Declaration
    public Task<int> PrintToFile(string filePath, bool Flatten = false)
    Parameters
    Type Name Description
    System.String filePath
    System.Boolean Flatten
    Returns
    Type Description
    System.Threading.Tasks.Task<System.Int32>

    The number of printed pages.

    See Also
    GetPrintDocument(PrinterSettings, PrintController, Boolean)

    RasterizeToImageFiles(String, ImageType, Int32, Boolean)

    Renders the PDF and exports image Files in convenient formats. 1 image file is created for each page.

    FileNamePattern should normally contain an asterisk (*) character which will be substituted for the page numbers

    Declaration
    public string[] RasterizeToImageFiles(string FileNamePattern, ImageType ImageFileType, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.String FileNamePattern

    A full or partial file path for the output files containing an asterisk. E.g. C:\images\pdf_page_*.png

    ImageType ImageFileType

    Type of the image file. If not specified, a best guess will be taken from the FileNamePattern file extension

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    System.String[]

    An array of the file paths of the image files created.

    RasterizeToImageFiles(String, IEnumerable<Int32>, ImageType, Int32, Boolean)

    Renders the PDF and exports image Files in convenient formats. Page Numbers may be specified. 1 image file is created for each page.

    FileNamePattern should normally contain an asterisk (*) character which will be substituted for the page numbers

    Declaration
    public string[] RasterizeToImageFiles(string FileNamePattern, IEnumerable<int> PageIndexes, ImageType ImageFileType, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.String FileNamePattern

    A full or partial file path for the output files containing an asterisk. E.g. C:\images\pdf_page_*.png

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexes

    A list of the specific zero based page numbe to render as images.

    ImageType ImageFileType

    Type of the image file. If not specified, a best guess will be taken from the FileNamePattern file extension

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    System.String[]

    An array of the file paths of the image files created.

    RasterizeToImageFiles(String, IEnumerable<Int32>, Nullable<Int32>, Nullable<Int32>, ImageType, Int32, Boolean)

    Renders the PDF and exports image Files in convenient formats. Page Numbers may be specified. 1 image file is created for each page.

    FileNamePattern should normally contain an asterisk (*) character which will be substituted for the page numbers

    Declaration
    public string[] RasterizeToImageFiles(string FileNamePattern, IEnumerable<int> PageIndexes, Nullable<int> ImageMaxWidth, Nullable<int> ImageMaxHeight, ImageType ImageFileType, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.String FileNamePattern

    A full or partial file path for the output files containing an asterisk. E.g. C:\images\pdf_page_*.png

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexes

    A list of the specific zero based page numbe to render as images.

    System.Nullable<System.Int32> ImageMaxWidth

    The target maximum width(in pixel) of the output images.

    System.Nullable<System.Int32> ImageMaxHeight

    The target maximum height(in pixel) of the output images.

    ImageType ImageFileType

    Type of the image file. If not specified, a best guess will be taken from the FileNamePattern file extension

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    System.String[]

    An array of the file paths of the image files created.

    RasterizeToImageFiles(String, Nullable<Int32>, Nullable<Int32>, ImageType, Int32, Boolean)

    Renders the PDF and exports image Files in convenient formats. Image dimensions may be specified. 1 image file is created for each page.

    FileNamePattern should normally contain an asterisk (*) character which will be substituted for the page numbers

    Declaration
    public string[] RasterizeToImageFiles(string FileNamePattern, Nullable<int> ImageMaxWidth, Nullable<int> ImageMaxHeight, ImageType ImageFileType, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.String FileNamePattern

    A full or partial file path for the output files containing an asterisk. E.g. C:\images\pdf_page_*.png

    System.Nullable<System.Int32> ImageMaxWidth

    The target maximum width(in pixel) of the output images.

    System.Nullable<System.Int32> ImageMaxHeight

    The target maximum height(in pixel) of the output images.

    ImageType ImageFileType

    Type of the image file. If not specified, a best guess will be taken from the FileNamePattern file extension

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    System.String[]

    An array of the file paths of the image files created.

    RedactRegionOnPage(Int32, RectangleF)

    Redacts a sensitive region on a specified page within a document.

    Declaration
    public void RedactRegionOnPage(int PageIndex, RectangleF Region)
    Parameters
    Type Name Description
    System.Int32 PageIndex

    The zero-based index of the page where redaction will occur.

    IronSoftware.Drawing.RectangleF Region

    The region to be redact.

    RedactRegionOnPages(Int32[], RectangleF)

    Redacts a sensitive region on multiple specified pages within a document.

    Declaration
    public void RedactRegionOnPages(int[] PageIndices, RectangleF Region)
    Parameters
    Type Name Description
    System.Int32[] PageIndices

    An array of zero-based page indices where redaction will occur.

    IronSoftware.Drawing.RectangleF Region

    The region to be redact.

    RedactRegionsOnAllPages(RectangleF)

    Redacts a sensitive region on the entire document.

    Declaration
    public void RedactRegionsOnAllPages(RectangleF Region)
    Parameters
    Type Name Description
    IronSoftware.Drawing.RectangleF Region

    The region to be redact.

    RedactRegionsOnPage(Int32, IEnumerable<RectangleF>)

    Redacts sensitive regions on a specified page within a document.

    Declaration
    public void RedactRegionsOnPage(int PageIndex, IEnumerable<RectangleF> Regions)
    Parameters
    Type Name Description
    System.Int32 PageIndex

    The zero-based index of the page where redaction will occur.

    System.Collections.Generic.IEnumerable<IronSoftware.Drawing.RectangleF> Regions

    The regions to be redact.

    RedactTextOnAllPages(String, Boolean, Boolean, Boolean, String)

    Redacts sensitive text on the entire document.

    Declaration
    public void RedactTextOnAllPages(string ReplaceText, bool CaseSensitive = false, bool OnlyMatchWholeWords = true, bool DrawRectangles = true, string ReplacementText = "*")
    Parameters
    Type Name Description
    System.String ReplaceText

    The text string to be redacted

    System.Boolean CaseSensitive

    Match capital or lower-case letters

    System.Boolean OnlyMatchWholeWords

    Only match whole words

    System.Boolean DrawRectangles

    Draw black rectangles around redacted area(s)

    System.String ReplacementText

    Text to be written in place of redacted items

    RedactTextOnPage(Int32, String, Boolean, Boolean, Boolean, String)

    Redacts sensitive text on a specified page within a document.

    Declaration
    public void RedactTextOnPage(int PageIndex, string ReplaceText, bool CaseSensitive = false, bool OnlyMatchWholeWords = true, bool DrawRectangles = true, string ReplacementText = "*")
    Parameters
    Type Name Description
    System.Int32 PageIndex

    The zero-based index of the page where redaction will occur.

    System.String ReplaceText

    The text string to be redacted

    System.Boolean CaseSensitive

    Match capital or lower-case letters

    System.Boolean OnlyMatchWholeWords

    Only match whole words

    System.Boolean DrawRectangles

    Draw black rectangles around redacted area(s)

    System.String ReplacementText

    Text to be written in place of redacted items

    RedactTextOnPages(Int32[], String, Boolean, Boolean, Boolean, String)

    Redacts sensitive text on multiple specified pages within a document.

    Declaration
    public void RedactTextOnPages(int[] PageIndices, string ReplaceText, bool CaseSensitive = false, bool OnlyMatchWholeWords = true, bool DrawRectangles = true, string ReplacementText = "*")
    Parameters
    Type Name Description
    System.Int32[] PageIndices

    An array of zero-based page indices where redaction will occur.

    System.String ReplaceText

    The text string to be replaced with a black box.

    System.Boolean CaseSensitive

    Match capital or lower-case letters

    System.Boolean OnlyMatchWholeWords

    Only match whole words

    System.Boolean DrawRectangles

    Draw black rectangles around redacted area(s)

    System.String ReplacementText

    Text to be written in place of redacted items

    RemovePage(Int32)

    Removes a page from the PDF at the given index.

    Declaration
    public PdfDocument RemovePage(int PageIndex)
    Parameters
    Type Name Description
    System.Int32 PageIndex

    Index of the page. Note: Page 1 has index 0...

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    RemovePages(IEnumerable<Int32>)

    Removes a range of pages from the PDF

    Declaration
    public PdfDocument RemovePages(IEnumerable<int> PageIndexes)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<System.Int32> PageIndexes

    A list of pages indexes to remove.

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    RemovePages(Int32, Int32)

    Removes a range of pages from the PDF

    Declaration
    public PdfDocument RemovePages(int StartIndex, int EndIndex)
    Parameters
    Type Name Description
    System.Int32 StartIndex

    The start index. Note: Page 1 has index 0

    System.Int32 EndIndex

    The end index. Note: The last page has index PageCount -1

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    RemoveSignatures()

    Remove all digital signatures from the PDF document

    Declaration
    public void RemoveSignatures()

    ReplaceTextOnAllPages(String, String, PdfFont, Nullable<Single>)

    Replaces the specified old text with new text on all pages using a custom PdfFont.

    Declaration
    public void ReplaceTextOnAllPages(string OldText, string NewText, PdfFont CustomFont = null, Nullable<float> CustomFontSize = null)
    Parameters
    Type Name Description
    System.String OldText

    The old text to be replaced.

    System.String NewText

    The new text to replace the old text with.

    PdfFont CustomFont

    The custom font for the new text (optional).

    System.Nullable<System.Single> CustomFontSize

    The font size of the new text (optional).

    ReplaceTextOnAllPages(String, String, String, Nullable<Single>)

    Replaces the specified old text with new text on all pages using a custom font by name.

    Declaration
    public void ReplaceTextOnAllPages(string OldText, string NewText, string CustomFontName, Nullable<float> CustomFontSize = null)
    Parameters
    Type Name Description
    System.String OldText

    The old text to be replaced.

    System.String NewText

    The new text to replace the old text with.

    System.String CustomFontName

    The name of the custom font for the new text. Must be a system font or added to the document using Fonts.Add().

    System.Nullable<System.Single> CustomFontSize

    The font size of the new text (optional).

    ReplaceTextOnPage(Int32, String, String, PdfFont, Nullable<Single>)

    Replaces the specified old text with new text on a given page using a custom PdfFont.

    Declaration
    public void ReplaceTextOnPage(int PageIndex, string OldText, string NewText, PdfFont CustomFont = null, Nullable<float> CustomFontSize = null)
    Parameters
    Type Name Description
    System.Int32 PageIndex

    The index of the page to search for old text to replace.

    System.String OldText

    The old text to be replaced.

    System.String NewText

    The new text to replace the old text with.

    PdfFont CustomFont

    The custom font for the new text (optional).

    System.Nullable<System.Single> CustomFontSize

    The font size of the new text (optional).

    ReplaceTextOnPage(Int32, String, String, String, Nullable<Single>)

    Replaces the specified old text with new text on a given page using a custom font.

    Declaration
    public void ReplaceTextOnPage(int PageIndex, string OldText, string NewText, string CustomFontName, Nullable<float> CustomFontSize = null)
    Parameters
    Type Name Description
    System.Int32 PageIndex

    The index of the page to search for old text to replace.

    System.String OldText

    The old text to be replaced.

    System.String NewText

    The new text to replace the old text with.

    System.String CustomFontName

    The name of the custom font for the new text. Must be a system font or added to the document using Fonts.Add().

    System.Nullable<System.Single> CustomFontSize

    The font size of the new text (optional).

    ReplaceTextOnPages(Int32[], String, String, PdfFont, Nullable<Single>)

    Replaces the specified old text with new text on a set of pages using a custom PdfFont.

    Declaration
    public void ReplaceTextOnPages(int[] PageIndices, string OldText, string NewText, PdfFont CustomFont = null, Nullable<float> CustomFontSize = null)
    Parameters
    Type Name Description
    System.Int32[] PageIndices

    An array of page indices to search for old text to replace.

    System.String OldText

    The old text to be replaced.

    System.String NewText

    The new text to replace the old text with.

    PdfFont CustomFont

    The custom font for the new text (optional).

    System.Nullable<System.Single> CustomFontSize

    The font size of the new text (optional).

    ReplaceTextOnPages(Int32[], String, String, String, Nullable<Single>)

    Replaces the specified old text with new text on a set of pages using a custom font by name.

    Declaration
    public void ReplaceTextOnPages(int[] PageIndices, string OldText, string NewText, string CustomFontName, Nullable<float> CustomFontSize = null)
    Parameters
    Type Name Description
    System.Int32[] PageIndices

    An array of page indices to search for old text to replace.

    System.String OldText

    The old text to be replaced.

    System.String NewText

    The new text to replace the old text with.

    System.String CustomFontName

    The name of the custom font for the new text. Must be a system font or added to the document using Fonts.Add().

    System.Nullable<System.Single> CustomFontSize

    The font size of the new text (optional).

    Resize(Length, Length, IEnumerable<Int32>)

    Resizes the PdfDocument to the specified width, height, and desired measurement unit. This will scale existing page contents to fit the new page dimensions, this may cause distortion in cases where Width-to-height ratio is different.

    Declaration
    public void Resize(Length PageWidth, Length PageHeight, IEnumerable<int> Pages = null)
    Parameters
    Type Name Description
    Length PageWidth

    The width of the resized PdfDocument.

    Length PageHeight

    The height of the resized PdfDocument.

    System.Collections.Generic.IEnumerable<System.Int32> Pages

    The page(s) to resize, if not specified all pages will be resized

    Resize(PdfPaperSize, IEnumerable<Int32>)

    Resizes the PDF document to the specified paper size.

    Declaration
    public void Resize(PdfPaperSize PdfPaperSize, IEnumerable<int> Pages = null)
    Parameters
    Type Name Description
    PdfPaperSize PdfPaperSize

    The size to resize the PDF document to.

    System.Collections.Generic.IEnumerable<System.Int32> Pages

    The page(s) to resize, if not specified all pages will be resized

    Remarks

    The available paper sizes are defined in the PdfPaperSize enumeration.

    Resize(Double, Double, MeasurementUnit, IEnumerable<Int32>)

    Resizes the PdfDocument to the specified width, height, and desired measurement unit. This will scale existing page contents to fit the new page dimensions, this may cause distortion in cases where Width-to-height ratio is different.

    Declaration
    public void Resize(double PageWidth, double PageHeight, MeasurementUnit MeasurementUnit, IEnumerable<int> Pages = null)
    Parameters
    Type Name Description
    System.Double PageWidth

    The width of the resized PdfDocument.

    System.Double PageHeight

    The height of the resized PdfDocument.

    MeasurementUnit MeasurementUnit

    The measurement unit for the width and height values.

    System.Collections.Generic.IEnumerable<System.Int32> Pages

    The page(s) to resize, if not specified all pages will be resized

    ResizePage(Int32, Double, Double, MeasurementUnit)

    Resize a page to the specified dimensions (in millimeters)

    Declaration
    public void ResizePage(int PageIndex, double PageWidth, double PageHeight, MeasurementUnit Units)
    Parameters
    Type Name Description
    System.Int32 PageIndex

    Page index to resize

    System.Double PageWidth

    Desired page width, in millimeters

    System.Double PageHeight

    Desired page height, in millimeters

    MeasurementUnit Units

    Optionally specify units of measurement for input parameters

    SaveAs(String, Boolean)

    Saves the PdfDocument to a file.

    Declaration
    public PdfDocument SaveAs(string FileName, bool SaveAsRevision = false)
    Parameters
    Type Name Description
    System.String FileName

    Target file path

    System.Boolean SaveAsRevision

    Append changes to the end of the PDF rather than overwriting existing objects. See also SaveAsRevision(String)

    Returns
    Type Description
    PdfDocument

    This PdfDocument for fluid code notation; if SaveAsRevision is enabled, the returned PdfDocument will be a new revision

    SaveAsHtml(String, Boolean, String, IEnumerable<Int32>, HtmlFormatOptions)

    Converts the PDF document to an HTML document and saves it to the provided file path with optional custom formatting.

    Declaration
    public void SaveAsHtml(string filePath, bool fullContentWidth = false, string title = "", IEnumerable<int> pageIndexes = null, HtmlFormatOptions htmlFormatOptions = null)
    Parameters
    Type Name Description
    System.String filePath

    The file path where the HTML output will be saved.

    System.Boolean fullContentWidth

    If set to true, the pdf content in the HTML will be set to full width.

    System.String title

    Optional title to be used in the HTML output. If not provided, the title from PDF metadata will be used.

    System.Collections.Generic.IEnumerable<System.Int32> pageIndexes

    Optional set of page indexes to include in the HTML output. If not provided, all pages will be included.

    HtmlFormatOptions htmlFormatOptions

    Optional HTML formatting options. If not provided, default formatting will be used.

    SaveAsPdfA(String, PdfAVersions, String)

    Saves the PdfDocument as a PDF/A Compliant PDF File

    For more information see the: IronPDF PDFA How-To Guide

    Note: All of non-embedded fonts are embedded as Helvetica Font which is one of 14 standard fonts provided by Adobe.

    Declaration
    public PdfDocument SaveAsPdfA(string FileName, PdfAVersions PdfAVersion, string CustomICC = null)
    Parameters
    Type Name Description
    System.String FileName

    Target file path

    PdfAVersions PdfAVersion

    (Optional) PDF/A standard format

    System.String CustomICC

    (Optional) Custom color profile file path

    Returns
    Type Description
    PdfDocument
    Remarks

    currently only support embedding 3 types of file; .xml, .pdf, and .png

    Exceptions
    Type Condition
    System.Exception

    SaveAsPdfA(String, IEnumerable<EmbedFileByte>, PdfAVersions, String)

    Saves the PdfDocument as a PDF/A Compliant PDF File with embedded files

    For more information see the: IronPDF PDFA How-To Guide

    Note: All of non-embedded fonts are embedded as Helvetica Font which is one of 14 standard fonts provided by Adobe.

    Declaration
    public PdfDocument SaveAsPdfA(string FileName, IEnumerable<EmbedFileByte> EmbedFileBytes, PdfAVersions PdfAVersion, string CustomICC = null)
    Parameters
    Type Name Description
    System.String FileName

    Target file path

    System.Collections.Generic.IEnumerable<EmbedFileByte> EmbedFileBytes

    Collection of byte[] and their file type of embedding file with type of that file to the PDF/A document

    PdfAVersions PdfAVersion

    (Optional) PDF/A standard format

    System.String CustomICC

    (Optional) Custom color profile file path

    Returns
    Type Description
    PdfDocument
    Remarks

    currently only support embedding 3 types of file; .xml, .pdf, and .png

    SaveAsPdfA(String, IEnumerable<EmbedFilePath>, PdfAVersions, String)

    Saves the PdfDocument as a PDF/A Compliant PDF File with embedded files

    For more information see the: IronPDF PDFA How-To Guide

    Note: All of non-embedded fonts are embedded as Helvetica Font which is one of 14 standard fonts provided by Adobe.

    Declaration
    public PdfDocument SaveAsPdfA(string FileName, IEnumerable<EmbedFilePath> EmbedFilePaths, PdfAVersions PdfAVersion, string CustomICC = null)
    Parameters
    Type Name Description
    System.String FileName

    Target file path

    System.Collections.Generic.IEnumerable<EmbedFilePath> EmbedFilePaths

    Collection of path to embedding file to the PDF/A document

    PdfAVersions PdfAVersion

    (Optional) PDF/A standard format

    System.String CustomICC

    (Optional) Custom color profile file path

    Returns
    Type Description
    PdfDocument
    Remarks

    currently only support embedding 3 types of file; .xml, .pdf, and .png

    Exceptions
    Type Condition
    System.Exception

    SaveAsPdfA(String, IEnumerable<EmbedFileStream>, PdfAVersions, String)

    Saves the PdfDocument as a PDF/A Compliant PDF File with embedded files

    For more information see the: IronPDF PDFA How-To Guide

    Note: All of non-embedded fonts are embedded as Helvetica Font which is one of 14 standard fonts provided by Adobe.

    Declaration
    public PdfDocument SaveAsPdfA(string FileName, IEnumerable<EmbedFileStream> EmbedFileStreams, PdfAVersions PdfAVersion, string CustomICC = null)
    Parameters
    Type Name Description
    System.String FileName

    Target file path

    System.Collections.Generic.IEnumerable<EmbedFileStream> EmbedFileStreams

    Collection of Stream and their file type of embedding file with type of that file to the PDF/A document

    PdfAVersions PdfAVersion

    (Optional) PDF/A standard format

    System.String CustomICC

    (Optional) Custom color profile file path

    Returns
    Type Description
    PdfDocument
    Remarks

    currently only support embedding 3 types of file; .xml, .pdf, and .png

    SaveAsPdfA(String, IEnumerable<String>, PdfAVersions, String)

    Saves the PdfDocument as a PDF/A Compliant PDF File with embedded files using the default EmbedFileConfiguration

    For more information see the: IronPDF PDFA How-To Guide

    Note: All of non-embedded fonts are embedded as Helvetica Font which is one of 14 standard fonts provided by Adobe.

    Declaration
    public PdfDocument SaveAsPdfA(string FileName, IEnumerable<string> EmbedFilePaths, PdfAVersions PdfAVersion, string CustomICC = null)
    Parameters
    Type Name Description
    System.String FileName

    Target file path

    System.Collections.Generic.IEnumerable<System.String> EmbedFilePaths

    Collection of string path to embedding file to the PDF/A document

    PdfAVersions PdfAVersion

    (Optional) PDF/A standard format

    System.String CustomICC

    (Optional) Custom color profile file path

    Returns
    Type Description
    PdfDocument
    Remarks

    currently only support embedding 3 types of file; .xml, .pdf, and .png

    To use custom EmbedFileConfiguration, using a collection of EmbedFilePath, EmbedFileByte, or EmbedFileStream instead a collection of string path

    Exceptions
    Type Condition
    System.Exception

    SaveAsPdfUA(String, PdfUAVersions, NaturalLanguages)

    Open a PDF File Path and saves a new PDF/UA Compliant PDF File to allow for Section 508 accessibility compliance. Please note that this feature supports PDF documents containing the English language only.

    For more information see the: IronPDF PDF/UA How-To Guide

    Note: All of non-embedded fonts are embedded as Helvetica Font which is one of 14 standard fonts provided by Adobe.

    Declaration
    public PdfDocument SaveAsPdfUA(string FileName, PdfUAVersions PdfUAVersion, NaturalLanguages NaturalLanguage)
    Parameters
    Type Name Description
    System.String FileName

    Target file path

    PdfUAVersions PdfUAVersion

    Version of exported PDF/UA

    NaturalLanguages NaturalLanguage

    Natural Languages Specification

    Returns
    Type Description
    PdfDocument

    A PDF/UA compliant reference to this document

    SaveAsRevision(String)

    Saves current changes as a revision and returns the revised the document, optionally also saving the document to disk

    Declaration
    public PdfDocument SaveAsRevision(string FileName = null)
    Parameters
    Type Name Description
    System.String FileName

    Optional file path

    Returns
    Type Description
    PdfDocument

    The revised PdfDocument, ready for a new set of changes

    SaveAsSvg(String)

    Converts the PDF document to an SVG format and saves it to the provided file path.

    Declaration
    public void SaveAsSvg(string fileNamePattern)
    Parameters
    Type Name Description
    System.String fileNamePattern

    A full or partial file path for the output files containing an asterisk. E.g. C:\images\pdf_page_*.svg

    SetAllPageRotations(PdfPageRotation)

    Set rotation degree to all pages of the PdfDocument by a specified degree.

    Declaration
    public void SetAllPageRotations(PdfPageRotation Rotation)
    Parameters
    Type Name Description
    PdfPageRotation Rotation

    Degrees of rotation

    SetPageRotation(Int32, PdfPageRotation)

    Set rotation degree to one page of the PdfDocument by a specified degree.

    Declaration
    public void SetPageRotation(int PageIndex, PdfPageRotation Rotation)
    Parameters
    Type Name Description
    System.Int32 PageIndex

    Index of the page to rotate. PageIndex is a 'Zero based' page number, the first page being 0.

    PdfPageRotation Rotation

    Degrees of rotation

    SetPageRotations(IEnumerable<Int32>, PdfPageRotation)

    Set rotation degree to selected pages of the PdfDocument by a specified degree.

    Declaration
    public void SetPageRotations(IEnumerable<int> PageIndexes, PdfPageRotation Rotation)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<System.Int32> PageIndexes

    Indexes of the pages to rotate in an IEnumerable, list or array. PageIndex is a 'Zero based' page number, the first page being 0.

    PdfPageRotation Rotation

    Degrees of rotation

    Sign(PdfSignature, SignaturePermissions)

    Signs the PDF with digital signature with advanced options.

    Note that the PDF will not be fully signed until Saved using SaveAs(String, Boolean), TrySaveAs(String), Stream or BinaryData. Multiple certificates may be used.

    Declaration
    public PdfDocument Sign(PdfSignature Signature, SignaturePermissions Permissions)
    Parameters
    Type Name Description
    PdfSignature Signature

    The PdfSignature.

    SignaturePermissions Permissions

    Permissions regarding modifications to the document after the digital signature is applied

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    SignWithFile(String, String, String, SignaturePermissions)

    Sign PDF with digital signature certificate. For more advanced options please see IronPdf.PdfDocument.SignPdfWithDigitalSignature(IronPdf.Signing.PdfSignature,IronPdf.Signing.SignaturePermissions)

    Note that the PDF will not be fully signed until Saved using SaveAs(String, Boolean), TrySaveAs(String), Stream or BinaryData. Multiple certificates may be used.

    Declaration
    public PdfDocument SignWithFile(string CertificateFilePath, string Password, string TimeStampUrl = null, SignaturePermissions Permissions)
    Parameters
    Type Name Description
    System.String CertificateFilePath

    The file path to a .pfx or .p12 digital signing certificate which may be generated using Adobe Acrobat Viewer.

    System.String Password

    The certificate password as a String.

    System.String TimeStampUrl

    Url to use for timestamping

    SignaturePermissions Permissions

    Permissions regarding modifications to the document after the digital signature is applied

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    See Also
    PdfSignature

    SignWithStore(String, StoreLocation, SignaturePermissions)

    Signs the PDF with digital signature extracted from your computer's signature storage.

    Note that the PDF will not be fully signed until Saved using SaveAs(String, Boolean), TrySaveAs(String), Stream or BinaryData. Multiple certificates may be used.

    Declaration
    public PdfDocument SignWithStore(string Thumbprint, StoreLocation StoreLocation, SignaturePermissions Permissions)
    Parameters
    Type Name Description
    System.String Thumbprint

    Thumbprint of a signature in your local computer's signature storage

    System.Security.Cryptography.X509Certificates.StoreLocation StoreLocation

    Computer storage location

    SignaturePermissions Permissions

    Permissions regarding modifications to the document after the digital signature is applied

    Returns
    Type Description
    PdfDocument

    Returns this PdfDocument object, allowing for a 'fluent' (LINQ like) chained in-line code style

    ToBitmap(IEnumerable<Int32>, Int32, Boolean)

    Rasterizes (renders) the PDF into (JPEG) IronSoftware.Drawing.AnyBitmap objects.

    Specific pages may be selected using the PageIndexes parameter.

    Please add an assembly reference to IronSoftware.Drawing.AnyBitmap to use this "PDF To Image" method

    Declaration
    public AnyBitmap[] ToBitmap(IEnumerable<int> pageIndexes, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<System.Int32> pageIndexes

    Specific zero based page index may be given to only convert part of the PDF document to images

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    IronSoftware.Drawing.AnyBitmap[]

    An array of IronSoftware.Drawing.AnyBitmap image objects which can be saved, manipulated, displayed or edited programmatically.

    ToBitmap(Int32, Boolean)

    Rasterizes (renders) the PDF into (JPEG) IronSoftware.Drawing.AnyBitmap objects. 1 Bitmap for each page.

    Please add an assembly reference to IronSoftware.Drawing.AnyBitmap to use this "PDF To Image" method.

    Please Dispose() each Bitmap object after use.

    Declaration
    public AnyBitmap[] ToBitmap(int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.Int32 DPI

    The resolution of the output Bitmap in 'Dots Per Inch'. Higher DPI creates larger bitmap files of higher image quality.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    IronSoftware.Drawing.AnyBitmap[]

    An array of IronSoftware.Drawing.AnyBitmap image objects which can be saved, manipulated, displayed or edited programmatically.

    Remarks

    The DPI may be ignored on some Linux distros.

    ToBitmap(Nullable<Int32>, Nullable<Int32>, IEnumerable<Int32>, Int32, Boolean)

    Rasterizes (renders) the PDF into (JPEG) IronSoftware.Drawing.AnyBitmap objects.

    Specific pages may be selected using the PageIndexes parameter. The Widths and Height of the output images may be specified.

    Please add an assembly reference to IronSoftware.Drawing.AnyBitmap to use this "PDF To Image" method

    Declaration
    public AnyBitmap[] ToBitmap(Nullable<int> imageMaxWidth, Nullable<int> imageMaxHeight, IEnumerable<int> pageIndexes = null, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.Nullable<System.Int32> imageMaxWidth

    The target maximum width(in pixel) of the output images.

    System.Nullable<System.Int32> imageMaxHeight

    The target maximum height(in pixel) of the output images.

    System.Collections.Generic.IEnumerable<System.Int32> pageIndexes

    Specific zero based page index may be given to only convert part of the PDF document to images

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    IronSoftware.Drawing.AnyBitmap[]

    An array of IronSoftware.Drawing.AnyBitmap image objects which can be saved, manipulated, displayed or edited programmatically.

    ToBitmapHighQuality(IEnumerable<Int32>, Int32, Boolean)

    Rasterizes (renders) the PDF into (BMP) IronSoftware.Drawing.AnyBitmap objects.

    Specific pages may be selected using the PageIndexes parameter.

    Please add an assembly reference to IronSoftware.Drawing.AnyBitmap to use this "PDF To Image" method

    Declaration
    public AnyBitmap[] ToBitmapHighQuality(IEnumerable<int> pageIndexes, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.Collections.Generic.IEnumerable<System.Int32> pageIndexes

    Specific zero based page index may be given to only convert part of the PDF document to images

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    IronSoftware.Drawing.AnyBitmap[]

    An array of IronSoftware.Drawing.AnyBitmap image objects which can be saved, manipulated, displayed or edited programmatically.

    The resulting images have significantly larger file sizes compared to ToBitmap(IEnumerable<Int32>, Int32, Boolean)

    Remarks

    The DPI will be ignored under Linux and macOS.

    ToBitmapHighQuality(Int32, Boolean)

    Rasterizes (renders) the PDF into (BMP) IronSoftware.Drawing.AnyBitmap objects. 1 Bitmap for each page.

    Please add an assembly reference to IronSoftware.Drawing.AnyBitmap to use this "PDF To Image" method.

    Please Dispose() each Bitmap object after use.

    Declaration
    public AnyBitmap[] ToBitmapHighQuality(int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.Int32 DPI

    The resolution of the output Bitmap in 'Dots Per Inch'. Higher DPI creates larger bitmap files of higher image quality.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    IronSoftware.Drawing.AnyBitmap[]

    An array of IronSoftware.Drawing.AnyBitmap image objects which can be saved, manipulated, displayed or edited programmatically.

    The resulting images have significantly larger file sizes compared to ToBitmap(IEnumerable<Int32>, Int32, Boolean)

    Remarks

    The DPI may be ignored on some Linux distros.

    ToBitmapHighQuality(Nullable<Int32>, Nullable<Int32>, IEnumerable<Int32>, Int32, Boolean)

    Rasterizes (renders) the PDF into (BMP) IronSoftware.Drawing.AnyBitmap objects.

    Specific pages may be selected using the PageIndexes parameter. The Widths and Height of the output images may be specified.

    Please add an assembly reference to IronSoftware.Drawing.AnyBitmap to use this "PDF To Image" method

    Declaration
    public AnyBitmap[] ToBitmapHighQuality(Nullable<int> imageMaxWidth, Nullable<int> imageMaxHeight, IEnumerable<int> pageIndexes = null, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.Nullable<System.Int32> imageMaxWidth

    The target maximum width(in pixel) of the output images.

    System.Nullable<System.Int32> imageMaxHeight

    The target maximum height(in pixel) of the output images.

    System.Collections.Generic.IEnumerable<System.Int32> pageIndexes

    Specific zero based page index may be given to only convert part of the PDF document to images

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    IronSoftware.Drawing.AnyBitmap[]

    An array of IronSoftware.Drawing.AnyBitmap image objects which can be saved, manipulated, displayed or edited programmatically.

    The resulting images have significantly larger file sizes compared to ToBitmap(Nullable<Int32>, Nullable<Int32>, IEnumerable<Int32>, Int32, Boolean)

    Remarks

    The DPI will be ignored under Linux and macOS.

    ToHtmlString(Boolean, String, IEnumerable<Int32>, HtmlFormatOptions)

    Converts the PDF document to an HTML string with optional custom formatting.

    Declaration
    public string ToHtmlString(bool fullContentWidth = false, string title = "", IEnumerable<int> pageIndexes = null, HtmlFormatOptions htmlFormatOptions = null)
    Parameters
    Type Name Description
    System.Boolean fullContentWidth

    If set to true, the pdf content in the HTML will be set to full width.

    System.String title

    Optional title to be used in the HTML output. If not provided, the title from PDF metadata will be used.

    System.Collections.Generic.IEnumerable<System.Int32> pageIndexes

    Optional set of page indexes to include in the HTML output. If not provided, all pages will be included.

    HtmlFormatOptions htmlFormatOptions

    Optional HTML formatting options. If not provided, default formatting will be used.

    Returns
    Type Description
    System.String

    An HTML string content representing the specified pages of the PDF document.

    ToJpegImages(String, IEnumerable<Int32>, Int32, Boolean)

    Renders the pages of the PDF as JPEG files and saves them to disk.

    Specific image dimensions and page numbers may be given as optional parameters

    FileNamePattern should normally contain an asterisk (*) character which will be substituted for the page numbers

    Declaration
    public string[] ToJpegImages(string FileNamePattern, IEnumerable<int> PageIndexes, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.String FileNamePattern

    A full or partial file path for the output files containing an asterisk. E.g. C:\images\pdf_page_*.jpg

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexes

    A list of the specific zero based page numbe to render as images.

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    System.String[]

    An array of the file paths of the image files created.

    ToJpegImages(String, IEnumerable<Int32>, Nullable<Int32>, Nullable<Int32>, Int32, Boolean)

    Renders the pages of the PDF as JPEG files and saves them to disk.

    Specific image dimensions and page numbers may be given as optional parameters

    FileNamePattern should normally contain an asterisk (*) character which will be substituted for the page numbers

    Declaration
    public string[] ToJpegImages(string FileNamePattern, IEnumerable<int> PageIndexes, Nullable<int> ImageMaxWidth, Nullable<int> ImageMaxHeight, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.String FileNamePattern

    A full or partial file path for the output files containing an asterisk. E.g. C:\images\pdf_page_*.jpg

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexes

    A list of the specific zero based page numbe to render as images.

    System.Nullable<System.Int32> ImageMaxWidth

    The target maximum width(in pixel) of the output images.

    System.Nullable<System.Int32> ImageMaxHeight

    The target maximum height(in pixel) of the output images.

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    System.String[]

    An array of the file paths of the image files created.

    ToJpegImages(String, Int32, Boolean)

    Renders the pages of the PDF as JPEG files and saves them to disk.

    Specific image dimensions and page numbers may be given as optional parameters

    FileNamePattern should normally contain an asterisk (*) character which will be substituted for the page numbers

    Declaration
    public string[] ToJpegImages(string FileNamePattern, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.String FileNamePattern

    A full or partial file path for the output files containing an asterisk. E.g. C:\images\pdf_page_*.jpg

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    System.String[]

    An array of the file paths of the image files created.

    ToJpegImages(String, Nullable<Int32>, Nullable<Int32>, Int32, Boolean)

    Renders the pages of the PDF as JPEG files and saves them to disk.

    Specific image dimensions and page numbers may be given as optional parameters

    FileNamePattern should normally contain an asterisk (*) character which will be substituted for the page numbers

    Declaration
    public string[] ToJpegImages(string FileNamePattern, Nullable<int> ImageMaxWidth, Nullable<int> ImageMaxHeight, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.String FileNamePattern

    A full or partial file path for the output files containing an asterisk. E.g. C:\images\pdf_page_*.jpg

    System.Nullable<System.Int32> ImageMaxWidth

    The target maximum width(in pixel) of the output images.

    System.Nullable<System.Int32> ImageMaxHeight

    The target maximum height(in pixel) of the output images.

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    System.String[]

    An array of the file paths of the image files created.

    ToMultiPageTiffImage(String, IEnumerable<Int32>, Int32, Boolean)

    Renders the pages of the PDF as TIFF (Tagged Image File Format / Tif) file and saves it to disk.

    Specific image dimensions and page numbers may be given as optional parameters

    FileNamePattern should normally contain an asterisk (*) character which will be substituted for the page numbers

    Declaration
    public string ToMultiPageTiffImage(string FileName, IEnumerable<int> PageIndexes = null, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.String FileName

    A full file path for the output file. E.g. C:\images\pdf_pages.tiff

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexes

    A list of the specific zero based page number to render

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    System.String

    A file path of the image file created.

    ToMultiPageTiffImage(String, IEnumerable<Int32>, Nullable<Int32>, Nullable<Int32>, Int32, Boolean)

    Renders the pages of the PDF as TIFF (Tagged Image File Format / Tif) file and saves it to disk.

    Specific image dimensions and page numbers may be given as optional parameters

    FileNamePattern should normally contain an asterisk (*) character which will be substituted for the page numbers

    Declaration
    public string[] ToMultiPageTiffImage(string FileName, IEnumerable<int> PageIndexes, Nullable<int> ImageMaxWidth, Nullable<int> ImageMaxHeight, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.String FileName

    A full file path for the output file. E.g. C:\images\pdf_pages.tiff

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexes

    A list of the specific zero based page numbe to number to render

    System.Nullable<System.Int32> ImageMaxWidth

    The target maximum width(in pixel) of the output images.

    System.Nullable<System.Int32> ImageMaxHeight

    The target maximum height(in pixel) of the output images.

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    System.String[]

    An array of the file paths of the image files created.

    ToMultiPageTiffImage(String, Nullable<Int32>, Nullable<Int32>, Int32, Boolean)

    Renders the pages of the PDF as TIFF (Tagged Image File Format / Tif) file and saves it to disk.

    Specific image dimensions and page numbers may be given as optional parameters

    FileNamePattern should normally contain an asterisk (*) character which will be substituted for the page numbers

    Declaration
    public string[] ToMultiPageTiffImage(string FileName, Nullable<int> ImageMaxWidth, Nullable<int> ImageMaxHeight, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.String FileName

    A full file path for the output file. E.g. C:\images\pdf_pages.tiff

    System.Nullable<System.Int32> ImageMaxWidth

    The target maximum width(in pixel) of the output images.

    System.Nullable<System.Int32> ImageMaxHeight

    The target maximum height(in pixel) of the output images.

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    System.String[]

    An array of the file paths of the image files created.

    ToPngImages(String, IEnumerable<Int32>, Int32, Boolean)

    Renders the pages of the PDF as PNG (Portable Network Graphic) files and saves them to disk.

    Specific image dimensions and page numbers may be given as optional parameters

    FileNamePattern should normally contain an asterisk (*) character which will be substituted for the page numbers

    Declaration
    public string[] ToPngImages(string FileNamePattern, IEnumerable<int> PageIndexes, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.String FileNamePattern

    A full or partial file path for the output files containing an asterisk. E.g. C:\images\pdf_pages_*.png

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexes

    A list of the specific zero based page numbe to render as images.

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    System.String[]

    An array of the file paths of the image files created.

    ToPngImages(String, IEnumerable<Int32>, Nullable<Int32>, Nullable<Int32>, Int32, Boolean)

    Renders the pages of the PDF as PNG (Portable Network Graphic) files and saves them to disk.

    Specific image dimensions and page numbers may be given as optional parameters

    FileNamePattern should normally contain an asterisk (*) character which will be substituted for the page numbers

    Declaration
    public string[] ToPngImages(string FileNamePattern, IEnumerable<int> PageIndexes, Nullable<int> ImageMaxWidth, Nullable<int> ImageMaxHeight, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.String FileNamePattern

    A full or partial file path for the output files containing an asterisk. E.g. C:\images\pdf_pages_*.png

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexes

    A list of the specific zero based page numbe to render

    System.Nullable<System.Int32> ImageMaxWidth

    The target maximum width(in pixel) of the output images.

    System.Nullable<System.Int32> ImageMaxHeight

    The target maximum height(in pixel) of the output images.

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten
    Returns
    Type Description
    System.String[]

    An array of the file paths of the image files created.

    ToPngImages(String, Int32, Boolean)

    Renders the pages of the PDF as PNG (Portable Network Graphic) files and saves them to disk.

    Specific image dimensions and page numbers may be given as optional parameters

    FileNamePattern should normally contain an asterisk (*) character which will be substituted for the page numbers

    Declaration
    public string[] ToPngImages(string FileNamePattern, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.String FileNamePattern

    A full or partial file path for the output files containing an asterisk. E.g. C:\images\pdf_pages_*.png

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    System.String[]

    An array of the file paths of the image files created.

    ToPngImages(String, Nullable<Int32>, Nullable<Int32>, Int32, Boolean)

    Renders the pages of the PDF as PNG (Portable Network Graphic) files and saves them to disk.

    Specific image dimensions and page numbers may be given as optional parameters

    FileNamePattern should normally contain an asterisk (*) character which will be substituted for the page numbers

    Declaration
    public string[] ToPngImages(string FileNamePattern, Nullable<int> ImageMaxWidth, Nullable<int> ImageMaxHeight, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.String FileNamePattern

    A full or partial file path for the output files containing an asterisk. E.g. C:\images\pdf_pages_*.png

    System.Nullable<System.Int32> ImageMaxWidth

    The target maximum width(in pixel) of the output images.

    System.Nullable<System.Int32> ImageMaxHeight

    The target maximum height(in pixel) of the output images.

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    System.String[]

    An array of the file paths of the image files created.

    ToString()

    Represent PDF document as a document id string

    Declaration
    public override string ToString()
    Returns
    Type Description
    System.String

    ToSvgString(Int32)

    Converts a specific page of the PDF document to an SVG format and returns it as a string.

    Declaration
    public string ToSvgString(int page = 0)
    Parameters
    Type Name Description
    System.Int32 page

    The page number to be converted to SVG. Default is 0 (first page).

    Returns
    Type Description
    System.String

    The SVG representation of the specified page as a string.

    ToTiffImages(String, IEnumerable<Int32>, Int32, Boolean)

    Renders the pages of the PDF as TIFF (Tagged Image File Format / Tif) files and saves them to disk.

    Specific image dimensions and page numbers may be given as optional parameters

    FileNamePattern should normally contain an asterisk (*) character which will be substituted for the page numbers

    Declaration
    public string[] ToTiffImages(string FileNamePattern, IEnumerable<int> PageIndexes, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.String FileNamePattern

    A full or partial file path for the output files containing an asterisk. E.g. C:\images\pdf_pages_*.tiff

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexes

    A list of the specific zero based page number to render

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    System.String[]

    An array of the file paths of the image files created.

    ToTiffImages(String, IEnumerable<Int32>, Nullable<Int32>, Nullable<Int32>, Int32, Boolean)

    Renders the pages of the PDF as TIFF (Tagged Image File Format / Tif) files and saves them to disk.

    Specific image dimensions and page numbers may be given as optional parameters

    FileNamePattern should normally contain an asterisk (*) character which will be substituted for the page numbers

    Declaration
    public string[] ToTiffImages(string FileNamePattern, IEnumerable<int> PageIndexes, Nullable<int> ImageMaxWidth, Nullable<int> ImageMaxHeight, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.String FileNamePattern

    A full or partial file path for the output files containing an asterisk. E.g. C:\images\pdf_pages_*.tiff

    System.Collections.Generic.IEnumerable<System.Int32> PageIndexes

    A list of the specific zero based page number to render

    System.Nullable<System.Int32> ImageMaxWidth

    The target maximum width(in pixel) of the output images.

    System.Nullable<System.Int32> ImageMaxHeight

    The target maximum height(in pixel) of the output images.

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    System.String[]

    An array of the file paths of the image files created.

    ToTiffImages(String, Int32, Boolean)

    Renders the pages of the PDF as TIFF (Tagged Image File Format / Tif) files and saves them to disk.

    Specific image dimensions and page numbers may be given as optional parameters

    FileNamePattern should normally contain an asterisk (*) character which will be substituted for the page numbers

    Declaration
    public string[] ToTiffImages(string FileNamePattern, int DPI, bool Flatten = false)
    Parameters
    Type Name Description
    System.String FileNamePattern

    A full or partial file path for the output files containing an asterisk. E.g. C:\images\pdf_pages_*.tiff

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    System.String[]

    An array of the file paths of the image files created.

    ToTiffImages(String, Nullable<Int32>, Nullable<Int32>, Int32, Boolean)

    Renders the pages of the PDF as TIFF (Tagged Image File Format / Tif) files and saves them to disk.

    Specific image dimensions and page numbers may be given as optional parameters

    FileNamePattern should normally contain an asterisk (*) character which will be substituted for the page numbers

    Declaration
    public string[] ToTiffImages(string FileNamePattern, Nullable<int> ImageMaxWidth, Nullable<int> ImageMaxHeight, int DPI = 96, bool Flatten = false)
    Parameters
    Type Name Description
    System.String FileNamePattern

    A full or partial file path for the output files containing an asterisk. E.g. C:\images\pdf_pages_*.tiff

    System.Nullable<System.Int32> ImageMaxWidth

    The target maximum width(in pixel) of the output images.

    System.Nullable<System.Int32> ImageMaxHeight

    The target maximum height(in pixel) of the output images.

    System.Int32 DPI

    The desired resolution of the output Images.

    System.Boolean Flatten

    Flatten the PDF before rendering the images - useful for displaying form field values

    Returns
    Type Description
    System.String[]

    An array of the file paths of the image files created.

    TrySaveAs(String)

    Attempt to save the PdfDocument to a file.

    Declaration
    public bool TrySaveAs(string FileName)
    Parameters
    Type Name Description
    System.String FileName

    File Path

    Returns
    Type Description
    System.Boolean

    }true if the file was saved successfully. false if an error occurred (e.g. file was locked or insufficient permissions).

    VerifyPdfSignatures()

    Verifies all the PDF signatures for this PDF document and returns true if there are no invalid signatures.

    Declaration
    public bool VerifyPdfSignatures()
    Returns
    Type Description
    System.Boolean

    true if all digital signatures for this PDF document are currently valid. Editing a PDF document in any way will invalidate signatures.

    VerifyPdfSignaturesInFile(String)

    Verifies all the PDF signatures for a PDF file (by file path) and returns true if there are no invalid signatures.

    Declaration
    public static bool VerifyPdfSignaturesInFile(string PdfFilePath)
    Parameters
    Type Name Description
    System.String PdfFilePath

    The full or relative PDF file path.

    Returns
    Type Description
    System.Boolean

    true if all digital signatures for the PDF document are currently valid. Editing a PDF document in any way will invalidate signatures.

    Operators

    Implicit(DocumentId to PdfDocument)

    Implicit conversion from DocumentId to PdfDocument

    Declaration
    public static implicit operator PdfDocument(DocumentId id)
    Parameters
    Type Name Description
    IronSoftware.DocumentId id

    DocumentId to convert

    Returns
    Type Description
    PdfDocument

    Implements

    IronSoftware.IDocumentId
    System.IDisposable
    ☀
    ☾
    Downloads
    • Download with Nuget
    • Start for Free
    In This Article
    Back to top
    Install with Nuget
    Want to deploy IronPDF to a live project for FREE?
    What’s included?
    30 days of fully-functional product
    Test and share in a live environment
    No watermarks in production
    Get your free 30-day Trial Key instantly.
    No credit card or account creation required
    Your Trial License Key has been emailed to you.
    Download IronPDF free to apply
    your Trial Licenses Key
    Install with NuGet View Licenses
    Licenses from $499. Have a question? Get in touch.