PdfDocumentProcessor.SaveDocument(Stream, PdfSaveOptions) Method
Saves the current PDF document to the specified stream with encryption settings and document signature.
Namespace: DevExpress.Pdf
Assembly: DevExpress.Docs.v24.2.dll
NuGet Package: DevExpress.Document.Processor
#Declaration
public void SaveDocument(
Stream stream,
PdfSaveOptions options
)
#Parameters
Name | Type | Description |
---|---|---|
stream | Stream | A Stream value, specifying the location of the saved document. |
options | Pdf |
A Pdf |
#Remarks
When you dispose of an output stream that has not been detached, an attempt to apply further changes to a document may cause errors. If you want to close the stream when a document is saved, call the SaveDocument method overload with the detachStream parameter enabled.
If you load and save a document to the same stream, it may lead to unexpected results. Use the PdfDocumentProcessor.SaveDocument(Stream, PdfSaveOptions, Boolean) method overload for safer results.
Important
The Pdf
#Example
This example shows how a PDF document can be protected using both the owner and user passwords.
Refer to the following topic fro more information: Document Protection
using DevExpress.Pdf;
namespace PDFPasswordProtection
{
class Program
{
static void Main(string[] args)
{
using (PdfDocumentProcessor pdfDocumentProcessor = new PdfDocumentProcessor()) {
// Load a PDF document.
pdfDocumentProcessor.LoadDocument("..\\..\\Demo.pdf");
// Specify printing, data extraction, modification, and interactivity permissions.
PdfEncryptionOptions encryptionOptions = new PdfEncryptionOptions();
encryptionOptions.PrintingPermissions = PdfDocumentPrintingPermissions.Allowed;
encryptionOptions.DataExtractionPermissions = PdfDocumentDataExtractionPermissions.NotAllowed;
encryptionOptions.ModificationPermissions = PdfDocumentModificationPermissions.DocumentAssembling;
encryptionOptions.InteractivityPermissions = PdfDocumentInteractivityPermissions.Allowed;
// Specify the owner and user passwords for the document.
encryptionOptions.OwnerPasswordString = "OwnerPassword";
encryptionOptions.UserPasswordString = "UserPassword";
// Specify the 256-bit AES encryption algorithm.
encryptionOptions.Algorithm = PdfEncryptionAlgorithm.AES256;
// Save the protected document with encryption settings.
using (FileStream stream = new FileStream("Result.pdf", FileMode.Create, FileAccess.ReadWrite))
{
pdfDocumentProcessor.SaveDocument(stream, new PdfSaveOptions()
{ EncryptionOptions = encryptionOptions });
}
}
}
}
}