![]() |
Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.3.23
|
Leadtools.Pdf Assembly > Leadtools.Pdf Namespace > PDFDocument Class > PDFDocument Constructor : PDFDocument Constructor(String,String) |
'Usage
Dim fileName As String Dim password As String Dim instance As New PDFDocument(fileName, password)
public PDFDocument(String fileName, String password)
The PDFDocument class encapsulates a PDF document on disk and allows you to read the pages, objects and images from the document.
fileName must contain the name of an existing and valid PDF file on disk. If the PDF file is encrypted, then password is used to try and decrypt the file. If the password value is not correct, and exception will be thrown. Another way of loading PDF documents is to use the PDFDocument(string fileName) constructor. This constructor does not work on encrypted PDF files. Use the PDFFile.IsEncrypted to determine whether a PDF file is encrypted.
This method will initialize the members of PDFDocument as follows:
Password: will be set to password, regardless of whether password was used when loading the file.
IsEncrypted: will be set to false since this method cannot open an encrypted PDF file.
Resolution: will be set to the default value used to load PDF files set in the static DefaultResolution property.
Pages: will be initialized to list of PDFDocumentPage objects, one item for each page found in the PDF document. Not all of the PDFDocumentPage members will be initialized since the PDFDocument constructor does not read any PDF objects by default. Refer to PDFDocumentPage for more information.
DocumentProperties: will be initialized with PDF document properties or metadata read from the file.
FileType: will be initialized with PDF document file type or version read from the file.
InternalLinks: will be initialized to null. The PDFDocument constructor will not read the PDF document structure by default. Instead, use the ParseDocumentStructure method to read the structure and populate InternalLinks.
Bookmarks: will be initialized to null. The PDFDocument constructor will not read the PDF document structure by default. Instead, use the ParseDocumentStructure method to read the structure and populate Bookmarks.
Use PDFDocument Constructor(Stream,String) to create a PDF document from a .NET stream.
This example will determine whether a PDF file is encrypted. If it is, the user is asked for a password before the document is loaded.
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.Controls Imports Leadtools.Pdf Imports Leadtools.Svg Imports Leadtools.WinForms <TestMethod> _ Public Sub PDFEncryptedExample() Dim pdfFileName1 As String = Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.pdf") Dim pdfFileName2 As String = Path.Combine(LEAD_VARS.ImagesDir, "Encrypted.pdf") ' Create an encrypted version of Leadtools.pdf Dim file As PDFFile = New PDFFile(pdfFileName1) file.SecurityOptions = New PDFSecurityOptions() file.SecurityOptions.UserPassword = "LEAD" file.Convert(1, -1, pdfFileName2) ' Now try to open it as a document Dim password As String = Nothing If PDFFile.IsEncrypted(pdfFileName2) Then Console.WriteLine("{0}" & Constants.vbLf & "Is encrypted. Enter the password:", pdfFileName2) password = Console.ReadLine() End If ' If the user entered the correct password (LEAD), you can open the file now Try Using document As PDFDocument = New PDFDocument(pdfFileName2, password) Console.WriteLine("Opened successfully") End Using Catch ex As Exception ' Otherwise, you will get an error that the PDF file is corrupted Console.WriteLine(ex.Message) End Try End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class
using Leadtools; using Leadtools.Codecs; using Leadtools.Controls; using Leadtools.Pdf; using Leadtools.Svg; using Leadtools.WinForms; [TestMethod] public void PDFEncryptedExample() { string pdfFileName1 = Path.Combine(LEAD_VARS.ImagesDir, @"Leadtools.pdf"); string pdfFileName2 = Path.Combine(LEAD_VARS.ImagesDir, @"Encrypted.pdf"); // Create an encrypted version of Leadtools.pdf PDFFile file = new PDFFile(pdfFileName1); file.SecurityOptions = new PDFSecurityOptions(); file.SecurityOptions.UserPassword = "LEAD"; file.Convert(1, -1, pdfFileName2); // Now try to open it as a document string password = null; if(PDFFile.IsEncrypted(pdfFileName2)) { Console.WriteLine("{0}\nIs encrypted. Enter the password:", pdfFileName2); password = Console.ReadLine(); } // If the user entered the correct password (LEAD), you can open the file now try { using(PDFDocument document = new PDFDocument(pdfFileName2, password)) { Console.WriteLine("Opened successfully"); } } catch(Exception ex) { // Otherwise, you will get an error that the PDF file is corrupted Console.WriteLine(ex.Message); } } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }