[SerializableAttribute()][DataContractAttribute()]public enum PdfDocumentEncryptionMode
| Value | Member | Description |
|---|---|---|
| 0 | RC40Bit | Use 40-bit RC4 encryption mode. |
| 1 | RC128Bit | Use 128-bit RC4 encryption mode. |
The PdfDocumentEncryptionMode enumeration is used as the type for the PdfDocumentOptions.EncryptionMode property.
PDF encryption mode along with the owner password and the different owner access right properties allow creating customized security level in the resulting PDF document. For more information, refer to PdfDocumentOptions.Protected.
using Leadtools.Document.Writer;using Leadtools.Ocr;using Leadtools;using Leadtools.Codecs;public void PdfDocumentOptionsExample(){var inputFileName = Path.Combine(LEAD_VARS.ImagesDir, "test.docx");var outputFileName = Path.Combine(LEAD_VARS.ImagesDir, "Example.pdf");// Setup a new RasterCodecs objectvar codecs = new RasterCodecs();codecs.Options.RasterizeDocument.Load.Resolution = 300;// Get the number of pages in the input documentvar pageCount = codecs.GetTotalPages(inputFileName);// Create a new instance of the LEADTOOLS Document Writervar docWriter = new DocumentWriter();// Change the PDF optionsvar pdfOptions = docWriter.GetOptions(DocumentFormat.Pdf) as PdfDocumentOptions;pdfOptions.DocumentType = PdfDocumentType.Pdf;pdfOptions.FontEmbedMode = DocumentFontEmbedMode.None;pdfOptions.ImageOverText = false;pdfOptions.Linearized = false;pdfOptions.Title = "Add your title here";pdfOptions.Subject = "Add your subject here";pdfOptions.Keywords = "Add your keywords here";pdfOptions.Author = "Add author name here";pdfOptions.Protected = true;pdfOptions.UserPassword = "User password";pdfOptions.OwnerPassword = "Owner password";pdfOptions.EncryptionMode = PdfDocumentEncryptionMode.RC128Bit;pdfOptions.PrintEnabled = false;pdfOptions.HighQualityPrintEnabled = true;pdfOptions.CopyEnabled = false;pdfOptions.EditEnabled = true;pdfOptions.AnnotationsEnabled = true;pdfOptions.AssemblyEnabled = false;pdfOptions.OneBitImageCompression = OneBitImageCompressionType.Flate;pdfOptions.ColoredImageCompression = ColoredImageCompressionType.FlateJpeg;pdfOptions.QualityFactor = 2;// Use default resolutionpdfOptions.DocumentResolution = 0;pdfOptions.PageRestriction = DocumentPageRestriction.Relaxed;// Setup empty page size (Letter size)pdfOptions.EmptyPageWidth = 8.5;pdfOptions.EmptyPageHeight = 11;pdfOptions.EmptyPageResolution = 300;docWriter.SetOptions(DocumentFormat.Pdf, pdfOptions);// Create a new PDF documentDebug.WriteLine("Creating new PDF document: {0}", outputFileName);docWriter.BeginDocument(outputFileName, DocumentFormat.Pdf);// Loop through all the pagesfor (var pageNumber = 1; pageNumber <= pageCount; pageNumber++){// Get the page as SVGDebug.WriteLine("Loading page {0}", pageNumber);var page = new DocumentWriterSvgPage();page.SvgDocument = codecs.LoadSvg(inputFileName, pageNumber, null);// Add the pageDebug.WriteLine("Adding page {0}", pageNumber);docWriter.AddPage(page);page.SvgDocument.Dispose();}// Finally finish writing the PDF file on diskdocWriter.EndDocument();codecs.Dispose();}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";}