[]
Represents a PDF document.
The object model provided by this class follows the PDF 1.7 Reference specification.
public class GcPdfDocument
To create a PDF document, create an instance of the GcPdfDocument class.
Two approaches are possible for adding content and saving the document:
<ul><li><span class="term">Direct mode</span>In this mode, you add pages to the document and draw on them (see below) in arbitrary order.
In particular, you can modify pages that have been already created.
When done, use <xref href="GrapeCity.Documents.Pdf.GcPdfDocument.Save(System.IO.Stream%2cSystem.Boolean)" data-throw-if-not-resolved="false"></xref> or <xref href="GrapeCity.Documents.Pdf.GcPdfDocument.Save(System.String%2cSystem.Boolean)" data-throw-if-not-resolved="false"></xref> method to save the document.
This mode is convenient but uses temporary files, so is somewhat less efficient than sequential mode described next.
</li><li><span class="term">Sequential mode</span>
To use this mode, you call <xref href="GrapeCity.Documents.Pdf.GcPdfDocument.StartDoc(System.IO.Stream)" data-throw-if-not-resolved="false"></xref> prior to any other operations on the document.
You can then add pages and draw on them, but you can only draw on the last (current) page.
All content is immediately added to the underlying stream without the use of temporary files.
To complete creating the document, you must call <xref href="GrapeCity.Documents.Pdf.GcPdfDocument.EndDoc" data-throw-if-not-resolved="false"></xref>.
</li></ul>
The pages of the document are accessible via the <xref href="GrapeCity.Documents.Pdf.GcPdfDocument.Pages" data-throw-if-not-resolved="false"></xref> collection.
To add content, use <xref href="GrapeCity.Documents.Pdf.Page.Graphics" data-throw-if-not-resolved="false"></xref> property to get a <xref href="GrapeCity.Documents.Drawing.GcGraphics" data-throw-if-not-resolved="false"></xref> for a page.
(In sequential mode, only the currently last page of the document can be drawn on.)
You can then use that graphics object to draw the desired content.
Creates a new instance of the GcPdfDocument class, optionally specifying a license key.
public GcPdfDocument(string licenseKey = null)
licenseKey
stringThe license key to use. If null, and SetLicenseKey(string) has been called, the key set with that method is used.
Gets the AcroForm object defining common properties of the AcroForms in this document.
public AcroForm AcroForm { get; }
Gets the list of ArticleThread objects.
public IList<ArticleThread> ArticleThreads { get; }
Gets the collection of embedded files associated with whole document. Typically it is used to identify which embedded file was the source of the PDF document.
public AssociatedFiles AssociatedFiles { get; }
Gets or sets a value indicating whether to generate appearance streams for annotations that have rich text content (FreeTextAnnotation, LineAnnotation). The default value for this property is false.
Note that currently there is a limitation: if this property is set to true so that appearance streams for rich text are generated, all rich text formatting is ignored.
public static bool BuildRichTextAppearanceStreams { get; set; }
Gets or sets an object that implements the ICMapProvider interface. GcPdfDocument uses that interface to obtain an GrapeCity.Documents.Pdf.Text.CMap.CMap if it specified by name in the PDF file.
By default GcPdf tries to initialize this property automatically in the GcPdfDocument's constructor with the CMapProvider.Instance defined in the optional GrapeCity.Documents.Pdf.Resources package (which in this case needs to be explicitly referenced by the application).
public static ICMapProvider CMapProvider { get; set; }
Gets or sets the compression level. Default value is Fastest.
public CompressionLevel CompressionLevel { get; set; }
Gets or sets the PDF/A conformance level.
The default is none (the document does not conform to PDF/A).
public PdfAConformanceLevel ConformanceLevel { get; set; }
Gets the dictionary of named destinations defined in the Dests entry of the document catalog.
public IDictionary<PdfName, IDestination> DestinationsDests { get; }
Gets the dictionary of named destinations defined in the Dests entry of the Name Dictionary.
public IDictionary<PdfString, IDestination> DestinationsNamesDests { get; }
Gets or sets a ActionJavaScript to be performed after printing the document.
public ActionJavaScript DidPrintAction { get; set; }
Gets or sets a ActionJavaScript to be performed after saving the document.
public ActionJavaScript DidSaveAction { get; set; }
Gets or sets a DocumentInfo object that contains information about this document (author, title, etc).
Note: this property is not null by default (when a GcPdfDocument is created) but it can become null after a call to Load(Stream, string) if the loaded document does not have a document info object.
public DocumentInfo DocumentInfo { get; set; }
Gets the dictionary of document level file attachments.
public IDictionary<string, FileSpecification> EmbeddedFiles { get; }
Gets or sets the FileID object defining ID of this PDF document. Note that this ID is automatically updated if the Clear() method is called.
public FileID FileID { get; set; }
Gets or sets the IFontCollection object used when the GcPdfDocument needs to find a Font (e.g. if it is not embedded in the PDF). If this property is null (the default), then the SystemFonts will be used.
public IFontCollection FontCollection { get; set; }
Gets or sets the font embedding mode.
The default is EmbedSubset.
Note that this property does not affect the 14 standard PDF fonts, their embedding is determined by the StandardFontEmbedMode property.
Also note that if the GcPdfDocument is saved as PDF/A, and the value of this property is NotEmbed, the fonts are embedded anyway using the EmbedSubset mode.
public FontEmbedMode FontEmbedMode { get; set; }
Gets the collection of font handlers associated with the current document.
public FontHandlerCollection FontHandlers { get; }
Gets or sets a Utf32CodeSet object that specifies which Unicode characters to include in embedded font subsets for fonts that are used in AcroForms.
This value will be used for a font if that font handler's Utf32CodeSet is null.
Note that if for a font, its Utf32CodeSet is null, and FormEmbedUtf32CodeSet is null, and the font is used in the AcroForm, then this whole font will be embedded even if partial embedding is specified by EmbedMode or FontEmbedMode.
public Utf32CodeSet FormEmbedUtf32CodeSet { get; set; }
Gets the collection of PdfImageHandler objects associated with the current document.
public PdfImageHandlerCollection ImageHandlers { get; }
Gets the ImageOptions object that contains options controlling how images are processed in the current document.
public ImageOptions ImageOptions { get; }
Gets a value indicating whether compression is used when saving the document.
public bool IsCompressed { get; }
Gets or sets a value indicating whether newly added pages have landscape orientation.
public bool Landscape { get; set; }
Gets or sets a language identifier specifying the natural language for all text in the document except where overridden by language specifications for structure elements or marked content. If this entry is absent, the language is considered unknown.
public string Lang { get; set; }
Gets a value indicating whether the PDF that was loaded into this GcPdfDocument was linearized ("fast web view").
Note that this value only indicates the linearization of the original PDF that was loaded, if the current document is saved its linearization is not affected by this property. To save the current document as linearized, pass Linearized when saving the PDF using one of the save methods:
public bool Linearized { get; }
Gets the Stream object that was passed to the Load() method that was used to load this document, or null if Load() was not called.
public Stream LoadStream { get; }
Gets a MarkInfo object that provides additional information relevant to specialized uses of structured PDF documents.
public MarkInfo MarkInfo { get; }
Gets or sets the metadata associated with this document.
public Metadata Metadata { get; set; }
Gets the dictionary of named destinations defined in the current document.
public IDictionary<string, IDestination> NamedDestinations { get; }
According to the PDF specification, the named destinations can be specified in two ways:
Gets or sets a DestinationBase to be displayed or an ActionBase to be performed when the document is opened.
public DocAction OpenAction { get; set; }
Gets the OptionalContentProperties object that contains information about optional PDF content (layers) in this document.
public OptionalContentProperties OptionalContent { get; }
Gets the collection of the current document outlines.
public OutlineNodeCollection Outlines { get; }
Gets the list of OutputIntent objects associated with the current document.
Note that if the document is saved as PDF/A (see PdfAConformanceLevel) and this collection is empty, a default output intent will be automatically added to it.
public IList<OutputIntent> OutputIntents { get; }
Gets the dictionary of PageLabelingRange objects. Each key in this dictionary is the index of the first page in a labeling range.
public IDictionary<int, PageLabelingRange> PageLabelingRanges { get; }
Gets or sets the page layout to be used when the document is opened.
public PageLayout? PageLayout { get; set; }
Gets or sets how the document should be displayed when opened.
public PageMode PageMode { get; set; }
Gets a rectangle that represents the surface of the current page (in points).
public RectangleF PageRectangle { get; }
This property returns a rectangle located at point (0,0) with size equal to the size of the current page. It can be used as a starting point for building rectangles that will be used for drawing on the page.
Gets or sets the default page size for the document (in points).
public SizeF PageSize { get; set; }
Gets the collection of Page objects that make up the document.
public PageCollection Pages { get; }
Gets or sets the page size for the document.
public PaperKind PaperKind { get; set; }
Gets or sets a value indicating whether the document is PDF/A compliant.
[Obsolete("Use ConformanceLevel")]
public bool PdfACompliant { get; set; }
Gets or sets the format used to represent fonts in the current document. The default is Type0AutoOneByteEncoding.
Note that this property does not affect the 14 standard PDF fonts, those are always encoded as Type1.
public PdfFontFormat PdfFontFormat { get; set; }
Gets or sets the PDF Version of the generated document.
By default the version is determined automatically based on which features are used in this document. Setting this property to a non-null string in the format "1.X" (where X is a digit from 0 to 9) overrides the automatic value with the specified one.
Setting this property to null or an empty string reverts to the default behavior.
public string PdfVersion { get; set; }
Gets or sets the type of algorithm that is used for PDF content recognition when building page text maps (see GetTextMap(float, float, bool)).
This property affects the behavior of methods such as GetText(bool), FindText(FindTextParams, OutputRange), FindText(FindTextParams, FindTextCallback) and other APIs that rely on text maps.
public RecognitionAlgorithm RecognitionAlgorithm { get; set; }
Gets the GrapeCity.Documents.Pdf.Security object that manages security for the current document (passwords, etc).
public Security Security { get; }
Gets the DocumentSecurityStore object associated with this document.
public DocumentSecurityStore SecurityStore { get; }
Gets or sets the font embedding mode for the 14 standard PDF fonts.
The default is NotEmbed.
Note that if the GcPdfDocument is saved as PDF/A, and the value of this property is NotEmbed, the standard fonts are embedded anyway using the EmbedSubset mode.
public FontEmbedMode StandardFontEmbedMode { get; set; }
Gets a StructTreeRoot object that represents the current document's structure tree as defined by PDF structure tags.
public StructTreeRoot StructTreeRoot { get; }
Gets the ViewerPreferences object that contains information specifying how the current document should be displayed.
public ViewerPreferences ViewerPreferences { get; }
Gets or sets a ActionJavaScript to be performed before closing the document.
public ActionJavaScript WillCloseAction { get; set; }
Gets or sets a ActionJavaScript to be performed before printing the document.
public ActionJavaScript WillPrintAction { get; set; }
Gets or sets a ActionJavaScript to be performed before saving the document.
public ActionJavaScript WillSaveAction { get; set; }
Gets or sets a value indicating whether comments and some optional line breaks will be added to the generated PDF file. Primarily useful for debugging.
public bool WriteComments { get; set; }
Clears the document, removing all content and resetting all properties and settings to their initial default values.
public void Clear()
Deletes a specified text from all pages of the current document.
Note that the results may be affected by the current value of the RecognitionAlgorithm property.
public void DeleteText(FindTextParams findTextParams, DeleteTextMode mode, OutputRange searchRange = null)
findTextParams
FindTextParamsThe text to search for.
mode
DeleteTextModeThe text delete mode.
searchRange
OutputRangeThe search scope.
Ends document generation in sequential mode. This call must be preceded by a call to StartDoc(Stream).
public void EndDoc()
Exports the document's form data to a stream in FDF format.
public void ExportFormDataToFDF(Stream stream, ExportFormDataOptions options = null)
stream
StreamThe destination stream.
options
ExportFormDataOptionsThe ExportFormDataOptions object defining the export options.
Exports the document's form data to a file in FDF format.
public void ExportFormDataToFDF(string fileName, ExportFormDataOptions options = null)
fileName
stringThe destination file.
options
ExportFormDataOptionsThe ExportFormDataOptions object defining the export options.
Exports the document's form data to a stream in XFDF format.
public void ExportFormDataToXFDF(Stream stream, ExportFormDataOptions options = null)
stream
StreamThe destination stream.
options
ExportFormDataOptionsThe ExportFormDataOptions object defining the export options.
Exports the document's form data to a file in XFDF format.
public void ExportFormDataToXFDF(string fileName, ExportFormDataOptions options = null)
fileName
stringThe destination file.
options
ExportFormDataOptionsThe ExportFormDataOptions object defining the export options.
Exports the document's form data to a stream in XML format.
public void ExportFormDataToXML(Stream stream, ExportFormDataOptions options = null)
stream
StreamThe destination stream.
options
ExportFormDataOptionsThe ExportFormDataOptions object defining the export options.
Exports the document's form data to a file in XML format.
public void ExportFormDataToXML(string fileName, ExportFormDataOptions options = null)
fileName
stringThe destination file.
options
ExportFormDataOptionsThe ExportFormDataOptions object defining the export options.
Searches for all occurrences of a text in a range of the document's pages.
Note that the results are affected by the value of RecognitionAlgorithm property.
public IList<FoundPosition> FindText(FindTextParams findTextParams, OutputRange searchRange = null)
findTextParams
FindTextParamsThe text searching parameters.
searchRange
OutputRangeThe search scope.
Gets the list of fonts in this GcPdfDocument.
public ICollection<Font> GetFonts()
The list of fonts present in this document.
Gets the list of images in this GcPdfDocument.
Note that for large documents this method can take a while to complete, as it enumerates the content streams of all pages in the document.
public IList<PdfImageInfo> GetImages(float dpiX = 72, float dpiY = 72, bool ignoreErrors = true, bool includeUnreferencedImages = true)
dpiX
floatThe horizontal resolution used to calculate the bounds of images on pages.
dpiY
floatThe vertical resolution used to calculate the bounds of images on pages.
ignoreErrors
boolIndicates whether to ignore errors in PDF during processing.
includeUnreferencedImages
boolIndicates whether to include images that are not referenced from content streams.
The list of images present in this document.
Parses the PDF's structure tree (as returned by the StructTreeRoot property) and creates a LogicalStructure object that represents the logical structure of the document.
Returns null if the current document does not have a structure tree.
public LogicalStructure GetLogicalStructure(ViewState viewState, float dpiX = 72, float dpiY = 72, bool ignoreErrors = true)
viewState
ViewStateThe ViewState used to determine what document content would be considered.
dpiX
floatThe horizontal resolution (DPI) to use for positions and sizes of PDF elements.
dpiY
floatThe vertical resolution (DPI) to use for positions and sizes of PDF elements.
ignoreErrors
boolIndicates whether to ignore errors during processing.
The LogicalStructure object or null.
Parses the PDF's structure tree (as returned by the StructTreeRoot property) and creates a LogicalStructure object that represents the logical structure of the document.
Returns null if the current document does not have a structure tree.
public LogicalStructure GetLogicalStructure(float dpiX = 72, float dpiY = 72, bool ignoreErrors = true)
dpiX
floatThe horizontal resolution (DPI) to use for positions and sizes of PDF elements.
dpiY
floatThe vertical resolution (DPI) to use for positions and sizes of PDF elements.
ignoreErrors
boolIndicates whether to ignore errors during processing.
The LogicalStructure object or null.
Extracts and returns all text from the current document.
public string GetText(ViewState viewState, bool ignoreErrors = true)
viewState
ViewStateThe ViewState used to determine what document content would be considered.
ignoreErrors
boolIndicates whether to ignore errors in PDF during processing.
All text in the current document.
Extracts and returns all text from the current document.
public string GetText(bool ignoreErrors = true)
ignoreErrors
boolIndicates whether to ignore errors in PDF during processing.
All text in the current document.
Imports the document's form data from a key/value collection.
The keys are collections of strings representing fully qualified field names including all parents if they exist, from the top parent to the field itself, e.g. new string[] { "TopParent", "Parent", "MyField" }.
The values are collections of field values.
This method may be especially useful when importing form data submitted by a web page.
public void ImportFormDataFromCollection(KeyValuePair<IList<string>, IList<string>>[] fieldValues)
fieldValues
KeyValuePair<IList<string>, IList<string>>[]The collection of field names and their values.
Imports the document's form data from a key/value collection.
The keys are field names, the values are collections of field values.
For nested fields, the field's name should include all its parents' names delimited by dots, e.g. TopParent.Parent.MyField.
This method may be especially useful when importing form data submitted by a web page.
public void ImportFormDataFromCollection(KeyValuePair<string, IList<string>>[] fieldValues)
fieldValues
KeyValuePair<string, IList<string>>[]The collection of field names and their values.
Imports the document's form data from a stream in FDF format.
public void ImportFormDataFromFDF(Stream stream)
stream
StreamThe source stream.
Imports the document's form data from a file in FDF format.
public void ImportFormDataFromFDF(string fileName)
fileName
stringThe source file.
Imports the document's form data from a stream in XFDF format.
public void ImportFormDataFromXFDF(Stream stream)
stream
StreamThe source stream.
Imports the document's form data from a file in XFDF format.
public void ImportFormDataFromXFDF(string fileName)
fileName
stringThe source file.
Imports the document's form data from a stream in XML format.
public void ImportFormDataFromXML(Stream stream)
stream
StreamThe source stream.
Imports the document's form data from a file in XML format.
public void ImportFormDataFromXML(string fileName)
fileName
stringThe source file.
Loads the document from a specified input stream, overwriting the current content of the document. The stream should contain valid PDF data and must be kept open while reading or modifying the document. If the document is modified, it can be saved using the Save(string, bool) or Save(Stream, bool) methods.
public void Load(Stream stream, DecryptionOptions decryptionOptions)
stream
StreamThe source Stream object used to load the document content.
decryptionOptions
DecryptionOptionsThe DecryptionOptions object containing password and other decryption parameters.
Loads the current document from a specified input stream, overwriting the current content of the document. The stream should contain valid PDF data, and must be kept open while reading or modifying the document. If the document is modified, it can be saved using the Save(string, bool) or Save(Stream, bool) method.
public void Load(Stream stream, byte[] password)
stream
StreamThe Stream object used for loading the document content.
password
byte[]The password used to open the document.
Loads the current document from a specified input stream, overwriting the current content of the document. The stream should contain valid PDF data, and must be kept open while reading or modifying the document. If the document is modified, it can be saved using the Save(string, bool) or Save(Stream, bool) method.
public void Load(Stream stream, string password = null)
stream
StreamThe Stream object used for loading the document content.
password
stringThe password used to open the document.
Merges all or some pages from a specified GcPdfDocument into the current document.
public void MergeWithDocument(GcPdfDocument sourceDoc, MergeDocumentOptions options = null)
sourceDoc
GcPdfDocumentThe source document which is to be merged into the current document.
options
MergeDocumentOptionsOptions controlling what and how to merge.
Adds a blank page to the document.
The size of the new page is defined by the value of the PageSize property.
If you want the new page to have a different size than the rest of the document, create the new page first, then set the Size property.
public Page NewPage()
Fires the SavingDocument event.
protected virtual bool OnSavingDocument(float progress, bool canCancel)
progress
floatThe current saving progress from 0 to 1.
canCancel
boolWhether the operation can be canceled.
true if operation was no canceled; otherwise false.
Optimizes font usage by merging subsets of same fonts and by removing duplicate and unused fonts.
This method uses the default values from OptimizeFontsOptions.
public GcPdfDocument.FontsUsageStats OptimizeFonts()
A GcPdfDocument.FontsUsageStats object that contains statistics about fonts usage prior to the optimization.
Optimizes font usage by merging subsets of same fonts, and by removing duplicate and unused fonts.
public GcPdfDocument.FontsUsageStats OptimizeFonts(OptimizeFontsOptions options)
options
OptimizeFontsOptionsAn OptimizeFontsOptions object that specifies optimization options.
A GcPdfDocument.FontsUsageStats object that contains statistics about fonts usage prior to the optimization.
Applies a specified RedactAnnotations to the current document.
public void Redact(RedactAnnotation redactAnnotation, RedactOptions redactOptions = null)
redactAnnotation
RedactAnnotationThe RedactAnnotation object to apply.
redactOptions
RedactOptionsSpecifies the additional redact options. If null, the default settings are used.
Applies all RedactAnnotations to the current document.
public void Redact(RedactOptions redactOptions = null)
redactOptions
RedactOptionsSpecifies the additional redact options. If null, the default settings are used.
Applies a list of specified RedactAnnotations to the current document.
public void Redact(IList<RedactAnnotation> redactAnnotations, RedactOptions redactOptions = null)
redactAnnotations
IList<RedactAnnotation>The list of RedactAnnotation objects to apply.
redactOptions
RedactOptionsSpecifies the additional redact options. If null, the default settings are used.
Registers an indirect PDF object with the current document and returns the ID of the object as a PdfObjID.
public PdfObjID RegisterPdfObject(IPdfObject ipo)
ipo
IPdfObjectThe PdfIndirectObjectBase to add.
The ID of the registered object.
Removes images with identical content from the current document.
public void RemoveDuplicateImages()
Removes embedded fonts from the current document.
Please note that a PDF may display incorrectly after removing embedded fonts. Use with caution.
public void RemoveEmbeddedFonts()
Removes the specified images from the document.
Images to be removed are defined by PdfImageInfo objects which may be obtained using one of GcPdfDocument.GetImages() method overloads. If an image's Locations and WidgetReferences properties are empty, the image will be removed from all locations.public void RemoveImages(IList<PdfImageInfo> images)
images
IList<PdfImageInfo>The list of images to remove.
Replaces a specified text on all pages of the current document.
Note that the results may be affected by the current value of the RecognitionAlgorithm property.
public void ReplaceText(FindTextParams findTextParams, string newText, OutputRange searchRange = null, Font font = null, float? fontSize = null)
findTextParams
FindTextParamsThe text to search for.
newText
stringThe replacement text.
searchRange
OutputRangeThe search scope.
font
FontThe font to use on newText
, if null the current font will be used.
fontSize
float?The font size to use on newText
, if null the current font size will be used.
Saves the current PDF document to a Stream using the default mode (no incremental update, not linearized).
public void Save(Stream stream)
Saves the current PDF document to a Stream using the specified save mode.
public void Save(Stream stream, SaveMode saveMode)
stream
StreamThe Stream object to use for saving the document.
saveMode
SaveModeThe PDF saving mode.
Saves the current PDF document to a Stream using a specified PDF save options.
public void Save(Stream stream, SavePdfOptions saveOptions)
stream
StreamThe Stream object to use for saving the document.
saveOptions
SavePdfOptionsThe PDF save options.
Saves the current PDF document to a Stream, optionally using incremental update mode.
public void Save(Stream stream, bool incrementalUpdate)
stream
StreamThe Stream object to use for saving the document.
incrementalUpdate
boolIndicates whether the document should be saved using incremental update.
Saves the current PDF document to a file using the default mode (no incremental update, not linearized).
public void Save(string fileName)
fileName
stringThe name of the PDF file to create.
Saves the current PDF document to a file using a specified save mode.
public void Save(string fileName, SaveMode saveMode)
Saves the current PDF document to a file using a specified PDF save options.
public void Save(string fileName, SavePdfOptions saveOptions)
fileName
stringThe name of the PDF file to create.
saveOptions
SavePdfOptionsThe PDF save options.
Saves the current PDF document to a file, optionally using incremental update mode.
public void Save(string fileName, bool incrementalUpdate)
fileName
stringThe name of the PDF file to create.
incrementalUpdate
boolIndicates whether the document should be saved using incremental update.
Saves the document pages as images in BMP format, one page per output file.
The filePath
parameter is used as a .NET format string,
with current page number (1-based) passed to it as the value to be formatted.
Note that if filePath
does not contain a format item (such as "{0}"),
all pages will be saved into the same file name, the last page overwriting everything else.
public void SaveAsBmp(string filePath, OutputRange pageRange = null, SaveAsImageOptions options = null)
filePath
stringThe output file path.
pageRange
OutputRangeThe range of pages that should be saved.
options
SaveAsImageOptionsOptions that allow customizing the output images.
Saves the document pages as images in BMP format, one page per output file.
The filePath
parameter is used as a .NET format string,
with current page number (1-based) passed to it as the value to be formatted.
Note that if filePath
does not contain a format item (such as "{0}"),
all pages will be saved into the same file name, the last page overwriting everything else.
public void SaveAsBmp(string filePath, ViewState viewState, OutputRange pageRange = null, SaveAsImageOptions options = null)
filePath
stringThe output file path.
viewState
ViewStateThe document view state.
pageRange
OutputRangeThe range of pages that should be saved.
options
SaveAsImageOptionsOptions that allow customizing the output images.
Saves the document pages as images in GIF format, one page per output file.
The filePath
parameter is used as a .NET format string,
with current page number (1-based) passed to it as the value to be formatted.
Note that if filePath
does not contain a format item (such as "{0}"),
all pages will be saved into the same file name, the last page overwriting everything else.
public void SaveAsGif(string filePath, OutputRange pageRange = null, SaveAsImageOptions options = null)
filePath
stringThe output file name.
pageRange
OutputRangeThe range of pages that should be saved.
options
SaveAsImageOptionsOptions that allow customizing the output images.
Saves the document pages as images in GIF format, one page per output file.
The filePath
parameter is used as a .NET format string,
with current page number (1-based) passed to it as the value to be formatted.
Note that if filePath
does not contain a format item (such as "{0}"),
all pages will be saved into the same file name, the last page overwriting everything else.
public void SaveAsGif(string filePath, ViewState viewState, OutputRange pageRange = null, SaveAsImageOptions options = null)
filePath
stringThe output file name.
viewState
ViewStateThe document view state.
pageRange
OutputRangeThe range of pages that should be saved.
options
SaveAsImageOptionsOptions that allow customizing the output images.
Iterates other the document pages and generates a GcBitmap for
each page in the pageRange
.
public void SaveAsImage(OutputRange pageRange, SaveAsImageOptions options, GcPdfDocument.SaveAsImageDelegate saveMethod)
pageRange
OutputRangeThe range of pages that should be saved.
options
SaveAsImageOptionsOptions that allow customizing the output images.
saveMethod
GcPdfDocument.SaveAsImageDelegateThe callback method called for each page.
Iterates over the document pages and generates a GcBitmap for
each page in the pageRange
.
public void SaveAsImage(ViewState viewState, OutputRange pageRange, SaveAsImageOptions options, GcPdfDocument.SaveAsImageDelegate saveMethod)
viewState
ViewStateThe ViewState used to determine what document content would be considered.
pageRange
OutputRangeThe range of pages that should be saved.
options
SaveAsImageOptionsOptions that allow customizing the output images.
saveMethod
GcPdfDocument.SaveAsImageDelegateThe callback method called for each page.
Saves the document pages as images in JPEG format, one page per output file.
The filePath
parameter is used as a .NET format string,
with current page number (1-based) passed to it as the value to be formatted.
Note that if filePath
does not contain a format item (such as "{0}"),
all pages will be saved into the same file name, the last page overwriting everything else.
public void SaveAsJpeg(string filePath, OutputRange pageRange = null, SaveAsImageOptions options = null)
filePath
stringThe output file path.
pageRange
OutputRangeThe range of pages that should be saved.
options
SaveAsImageOptionsOptions that allow customizing the output images.
Saves the document pages as images in JPEG format, one page per output file.
The filePath
parameter is used as a .NET format string,
with current page number (1-based) passed to it as the value to be formatted.
Note that if filePath
does not contain a format item (such as "{0}"),
all pages will be saved into the same file name, the last page overwriting everything else.
public void SaveAsJpeg(string filePath, ViewState viewState, OutputRange pageRange = null, SaveAsImageOptions options = null)
filePath
stringThe output file path.
viewState
ViewStateThe document view state.
pageRange
OutputRangeThe range of pages that should be saved.
options
SaveAsImageOptionsOptions that allow customizing the output images.
Saves the document pages as images in PNG format, one page per output file.
The filePath
parameter is used as a .NET format string,
with current page number (1-based) passed to it as the value to be formatted.
Note that if filePath
does not contain a format item (such as "{0}"),
all pages will be saved into the same file name, the last page overwriting everything else.
public void SaveAsPng(string filePath, OutputRange pageRange = null, SaveAsImageOptions options = null)
filePath
stringThe output file path.
pageRange
OutputRangeThe range of pages that should be saved.
options
SaveAsImageOptionsOptions that allow customizing the output images.
Saves the document pages as images in PNG format, one page per output file.
The filePath
parameter is used as a .NET format string,
with current page number (1-based) passed to it as the value to be formatted.
Note that if filePath
does not contain a format item (such as "{0}"),
all pages will be saved into the same file name, the last page overwriting everything else.
public void SaveAsPng(string filePath, ViewState viewState, OutputRange pageRange = null, SaveAsImageOptions options = null)
filePath
stringThe output file path.
viewState
ViewStateThe document view state.
pageRange
OutputRangeThe range of pages that should be saved.
options
SaveAsImageOptionsOptions that allow customizing the output images.
Saves the document pages as images in SVG format, one page per output file.
The filePath
parameter is used as a .NET format string,
with current page number (1-based) passed to it as the value to be formatted.
Note that if filePath
does not contain a format item (such as "{0}"),
all pages will be saved into the same file name, the last page overwriting everything else.
public void SaveAsSvg(string filePath, OutputRange pageRange = null, SaveAsImageOptions options = null, XmlWriterSettings xmlSettings = null)
filePath
stringThe output file path.
pageRange
OutputRangeThe range of pages that should be saved.
options
SaveAsImageOptionsOptions that allow customizing the output images.
xmlSettings
XmlWriterSettingsThe output XML formatting settings.
Saves the document pages as images in SVG format, one page per output file.
The filePath
parameter is used as a .NET format string,
with current page number (1-based) passed to it as the value to be formatted.
Note that if filePath
does not contain a format item (such as "{0}"),
all pages will be saved into the same file name, the last page overwriting everything else.
public void SaveAsSvg(string filePath, ViewState viewState, OutputRange pageRange = null, SaveAsImageOptions options = null, XmlWriterSettings xmlSettings = null)
filePath
stringThe output file path.
viewState
ViewStateThe document view state.
pageRange
OutputRangeThe range of pages that should be saved.
options
SaveAsImageOptionsOptions that allow customizing the output images.
xmlSettings
XmlWriterSettingsThe output XML formatting settings.
Saves the document pages as images to a stream in TIFF format, one page per frame.
public void SaveAsTiff(Stream stream, OutputRange pageRange = null, SaveAsImageOptions options = null, TiffFrameSettings frameSettings = null)
stream
StreamThe output stream.
pageRange
OutputRangeThe range of pages that should be saved.
options
SaveAsImageOptionsOptions that allow customizing the output images.
frameSettings
TiffFrameSettingsFrame settings that are used for encoding the TIFF frames.
Saves the document pages as images to a stream in TIFF format, one page per frame.
public void SaveAsTiff(Stream stream, ViewState viewState, OutputRange pageRange = null, SaveAsImageOptions options = null, TiffFrameSettings frameSettings = null)
stream
StreamThe output stream.
viewState
ViewStateThe document view state.
pageRange
OutputRangeThe range of pages that should be saved.
options
SaveAsImageOptionsOptions that allow customizing the output images.
frameSettings
TiffFrameSettingsFrame settings that are used for encoding the TIFF frames.
Saves the document pages as images to a file in TIFF format, one page per frame.
public void SaveAsTiff(string filePath, OutputRange pageRange = null, SaveAsImageOptions options = null, TiffFrameSettings frameSettings = null)
filePath
stringThe output file path.
pageRange
OutputRangeThe range of pages that should be saved.
options
SaveAsImageOptionsOptions that allow customizing the output images.
frameSettings
TiffFrameSettingsFrame settings that are used for encoding the TIFF frames.
Saves the document pages as images to a file in TIFF format, one page per frame.
public void SaveAsTiff(string filePath, ViewState viewState, OutputRange pageRange = null, SaveAsImageOptions options = null, TiffFrameSettings frameSettings = null)
filePath
stringThe output file path.
viewState
ViewStateThe document view state.
pageRange
OutputRangeThe range of pages that should be saved.
options
SaveAsImageOptionsOptions that allow customizing the output images.
frameSettings
TiffFrameSettingsFrame settings that are used for encoding the TIFF frames.
Sets the license key.
public static void SetLicenseKey(string key)
key
stringThe license key to set, or null to remove any previously set key.
Signs and saves the current document to a stream.
Note that stream
must support read and seek operations.
public void Sign(SignatureProperties signatureProperties, Stream stream)
signatureProperties
SignaturePropertiesProperties of the signature used to sign the document.
stream
StreamThe output stream (must support read and seek operations).
Signs and saves the current document to a stream.
Note that stream
must support read and seek operations.
public void Sign(SignatureProperties signatureProperties, Stream stream, SaveMode saveMode)
signatureProperties
SignaturePropertiesProperties of the signature used to sign the document.
stream
StreamThe output stream (must support read and seek operations).
saveMode
SaveModeThe PDF saving mode.
Signs and saves the current document to a stream.
Note that stream
must support read and seek operations.
public void Sign(SignatureProperties signatureProperties, Stream stream, SavePdfOptions saveOptions)
signatureProperties
SignaturePropertiesProperties of the signature used to sign the document.
stream
StreamThe output stream (must support read and seek operations).
saveOptions
SavePdfOptionsThe PDF save options.
Signs and saves the current document to a file.
Note that stream
must support read and seek operations.
public void Sign(SignatureProperties signatureProperties, Stream stream, bool incrementalUpdate)
signatureProperties
SignaturePropertiesProperties of the signature used to sign the document.
stream
StreamThe output stream (must support read and seek operations).
incrementalUpdate
boolIndicates whether the document should be saved using incremental update.
Signs and saves the current document to a file.
public void Sign(SignatureProperties signatureProperties, string fileName)
signatureProperties
SignaturePropertiesProperties of the signature used to sign the document.
fileName
stringThe name of the PDF file to create.
Signs and saves the current document to a file.
public void Sign(SignatureProperties signatureProperties, string fileName, SaveMode saveMode)
signatureProperties
SignaturePropertiesProperties of the signature used to sign the document.
fileName
stringThe name of the PDF file to create.
saveMode
SaveModeThe PDF save mode.
Signs and saves the current document to a file.
public void Sign(SignatureProperties signatureProperties, string fileName, SavePdfOptions saveOptions)
signatureProperties
SignaturePropertiesProperties of the signature used to sign the document.
fileName
stringThe name of the PDF file to create.
saveOptions
SavePdfOptionsThe PDF save options.
Signs and saves the current document to a stream.
public void Sign(SignatureProperties signatureProperties, string fileName, bool incrementalUpdate)
signatureProperties
SignaturePropertiesProperties of the signature used to sign the document.
fileName
stringThe name of the PDF file to create.
incrementalUpdate
boolIndicates whether the document should be saved using incremental update.
Starts document generation in sequential mode.
In this mode, the content of the document is written directly into the underlying stream as soon as it is created, without the use of temporary files. When all content has been added, call EndDoc() to finish creating the document.
public void StartDoc(Stream stream)
stream
StreamThe stream to which the PDF document will be written.
Sequential mode may provide better performance, but it does not allow modifying the already created pages (which is possible when StartDoc(Stream) is not called, and the document is saved by Save(Stream, bool) or Save(string, bool) after all content has been added instead.)
EndDoc() Save(Stream, bool) Save(string, bool)Adds a document time stamp and saves the current document to a stream.
public void TimeStamp(TimeStampProperties timeStampProperties, Stream stream)
timeStampProperties
TimeStampPropertiesThe time stamp properties.
stream
StreamThe output stream. The stream must support read and seek operations.
Adds a document time stamp and saves the current document to a stream.
public void TimeStamp(TimeStampProperties timeStampProperties, Stream stream, SaveMode saveMode)
timeStampProperties
TimeStampPropertiesThe time stamp properties.
stream
StreamThe output stream. The stream must support read and seek operations.
saveMode
SaveModeThe PDF saving mode.
Adds a document time stamp and saves the current document to a stream.
public void TimeStamp(TimeStampProperties timeStampProperties, Stream stream, SavePdfOptions saveOptions)
timeStampProperties
TimeStampPropertiesThe time stamp properties.
stream
StreamThe output stream. The stream must support read and seek operations.
saveOptions
SavePdfOptionsThe PDF save options.
Adds a document time stamp and saves the current document to a file.
public void TimeStamp(TimeStampProperties timeStampProperties, string fileName)
timeStampProperties
TimeStampPropertiesThe time stamp properties.
fileName
stringThe name of the PDF file to create.
Adds a document time stamp and saves the current document to a file.
public void TimeStamp(TimeStampProperties timeStampProperties, string fileName, SaveMode saveMode)
timeStampProperties
TimeStampPropertiesThe time stamp properties.
fileName
stringThe name of the PDF file to create.
saveMode
SaveModeThe PDF saving mode.
Adds a document time stamp and saves the current document to a file.
public void TimeStamp(TimeStampProperties timeStampProperties, string fileName, SavePdfOptions saveOptions)
timeStampProperties
TimeStampPropertiesThe time stamp properties.
fileName
stringThe name of the PDF file to create.
saveOptions
SavePdfOptionsThe PDF save options.
Occurs periodically when the document is being saved or exported. Can be used to implement a progress indicator.
public event LongOperationEventHandler SavingDocument