Click or drag to resize

PdfDocument Class

Represents a root class in the SautinSoft.Pdf implementation of the PDF Document Structure as specified in the PDF Specification ISO 32000-1:2008, section '7.7 Document Structure'.
Inheritance Hierarchy
SystemObject
  SautinSoft.PdfPdfObject
    SautinSoft.PdfPdfDocument

Namespace: SautinSoft.Pdf
Assembly: SautinSoft.Pdf (in SautinSoft.Pdf.dll) Version: 2024.11.26
Syntax
public sealed class PdfDocument : PdfObject, 
	IDisposable

The PdfDocument type exposes the following members.

Constructors
 NameDescription
Public methodPdfDocument Initializes a new instance of the PDF document.
Top
Properties
 NameDescription
Public propertyAssociatedFiles

(Optional; PDF 2.0) An array of one or more PdfFileSpecifications which denote the associated files for this PdfDocument.

For unencrypted wrapper documents for an encrypted payload document the AssociatedFiles property is required and shall include a reference to the PdfFileSpecification for the encrypted payload document.

Public propertyAuthorSignature Gets or sets the certifying signature (also known as an author signature) (PDF 1.5) whose AuthorPermission in any of the Locks shall indicate the author's specification of which changes to the document shall be prevented by the consumer applications.
Public propertyEmbeddedFiles(Optional; PDF 1.4) A name tree mapping name strings to file specifications for embedded file streams (see 7.11.4, "Embedded File Streams").
Public propertyForm(Optional; PDF 1.2) The document’s interactive form (AcroForm) dictionary (see 12.7.2, "Interactive Form Dictionary").
Public propertyId

(Required if an Encrypt entry is present in the file trailer; optional otherwise; PDF 1.1) An array of two byte-strings constituting a file identifier (see 14.4, "File Identifiers") for the file.

Because the Id entries are not encrypted it is possible to check the Id key to assure that the correct file is being accessed without decrypting the file.

Although this entry is optional, its absence might prevent the file from functioning in some workflows that depend on files being uniquely identified.

Public propertyInfo(Optional; shall be an indirect reference) The document’s information dictionary (see 14.3.3, "Document Information Dictionary").
Public propertyMetadata(Optional; PDF 1.4; shall be an indirect reference) A metadata stream that shall contain metadata for the document (see 14.3.2, "Metadata Streams").
(Overrides PdfObjectMetadata)
Public propertyNames(Optional; PDF 1.2) The document's name dictionary (see 7.7.4, "Name Dictionary").
Public propertyOutlines(Optional; shall be an indirect reference) The outline dictionary that shall be the root of the document’s outline hierarchy (see 12.3.3, "Document Outline").
Public propertyPageLayout

(Optional) Gets or sets the value specifying the page layout to be used when the document is opened.

Default value: SinglePage.

Public propertyPageMode

(Optional) Gets or sets the value specifying how the document shall be displayed when opened.

Default value: UseNone.

Public propertyPages(Required; shall be an indirect reference) The page tree node that shall be the root of the document’s page tree (see 7.7.3, "Page Tree").
Public propertyPortfolio(Optional; PDF 1.7) A PdfPortfolio that a conforming reader shall use to enhance the presentation of file attachments stored in the PDF document. (see 12.3.5, "Collections").
Public propertySaveOptions

Gets or sets the options used when saving the PdfDocument to a PDF file.

Default value: Default.

Public propertySecurityStore(Optional; PDF 2.0) Document-wide security-related information.
Public propertyVersion(Optional; PDF 1.4) The version of the PDF specification to which the document conforms (for example, 1.4) if later than the version specified in the file’s header (see 7.5.2, "File Header"). If the header specifies a later version, or if this entry is absent, the document shall conform to the version specified in the header. This entry enables a conforming writer to update the version using an incremental update; see 7.5.6, "Incremental Updates".
Public propertyViewerPreferences(Optional; PDF 1.2) A viewer preferences dictionary (see 12.2, "Viewer Preferences") specifying the way the document shall be displayed on the screen. If this entry is absent, conforming readers shall use their own current user preference settings.
Top
Methods
 NameDescription
Public methodClone

Makes a deep clone of this PdfDocument instance.

The clone and this PdfDocument do not share any objects, thus the cloned PdfDocument is a deep clone of this PdfDocument.

Public methodClose

Closes the PDF file associated with this PdfDocument.

Any PdfDocument that is associated with the PDF file should be closed, otherwise memory and resource leaks might occur because PDF file stream might not be closed until the application exists.

Public methodDispose

Closes the PDF file associated with this PdfDocument.

Any PdfDocument that is associated with the PDF file should be closed, otherwise memory and resource leaks might occur because PDF file stream might not be closed until the application exists.

Public methodLoad

Loads the PdfDocument entirely from the PDF file.

PDF file remains open. If you want to close the PDF file, use Close method.

Public methodStatic memberLoad(Stream) Loads a PDF document from the specified stream and with the Default options.
Public methodStatic memberLoad(String) Loads a PDF document from a file with the specified path and with the Default options.
Public methodStatic memberLoad(Stream, PdfLoadOptions) Loads a PDF document from the specified stream and with the specified options.
Public methodStatic memberLoad(String, PdfLoadOptions) Loads a PDF document from a file with the specified path and with the specified options.
Public methodSave

Save all the changes made to the current PDF document to the same location from where the PDF document was loaded or last saved.

This feature is also called incremental update.

Use SaveOptions to specify options used for saving the PdfDocument to a PDF file.

Public methodSave(Stream)

Saves the entire PDF document to the specified stream.

Use SaveOptions to specify options used for saving the PdfDocument to a PDF file.

Public methodSave(String)

Saves the entire PDF document to a file with the specified path.

Use SaveOptions to specify options used for saving the PdfDocument to a PDF file.

Public methodSave(Stream, SaveOptions)

Saves the entire PDF document to the specified stream.

Public methodSave(String, SaveOptions)

Saves the entire PDF document to a file with the specified path.

Public methodSetId Sets the Id to a specified Guid value. Both Creation and Modification will be set to the specified Guid value.
Public methodStatic memberCode exampleSetLicense

Activate your copy after purchasing or use temporary license for delete trial message.
ATTENTION: specify this property first of all before using any other class from SautinSoft.Pdf assembly!

Use it when you got own license. We offer two license types:

Have question? Ask us: support@sautinsoft.com.

Public methodSetPortfolio

Sets a new PdfPortfolio to the Portfolio property thus making the this PdfDocument a PDF Portfolio (a collection of file attachments).

This method also clears EmbeddedFiles collection so that a new PdfPortfolio is empty.

Public methodToString Returns a String that represents this PdfDocument instance.
(Overrides ObjectToString)
Public methodUnload

The method that does exactly the opposite of the Load method.

References to all PdfIndirectObjects whose Values were already parsed from the PDF file associated with this PdfDocument are cleared so they can be parsed again when requested for the first time.

This method also resets all fields of the PdfDocument so they are recreated when requested for the first time.

The PdfDocument is, effectively, reset to the state when it was either last loaded from a PDF file or last saved to a PDF file.

Use this method if you are reading a very large PDF document (with thousands of pages) to free memory necessary for reading additional pages.

Top
Extension Methods
 NameDescription
Public Extension MethodGetArray Gets the PdfArray that serves as a backing storage of the specified PdfObject or if no PdfArray serves as a backing storage of the specified PdfObject.
(Defined by PdfObjectExtensions)
Public Extension MethodGetDictionary Gets the PdfDictionary that serves as a backing storage of the specified PdfObject.
(Defined by PdfObjectExtensions)
Public Extension MethodGetOrAddDictionary Gets the PdfDictionary that serves as a backing storage of the specified PdfObject.
(Defined by PdfObjectExtensions)
Top
See Also