static void Main() { //Configure the logging ConfigureLogging(); try { // Initial setup, create credentials instance. Credentials credentials = Credentials.ServiceAccountCredentialsBuilder() .FromFile(Directory.GetCurrentDirectory() + "/pdftools-api-credentials.json") .Build(); // Create an ExecutionContext using credentials. ExecutionContext executionContext = ExecutionContext.Create(credentials); // Build ProtectPDF options by setting a User Password and Encryption // Algorithm (used for encrypting the PDF file). ProtectPDFOptions protectPDFOptions = ProtectPDFOptions.PasswordProtectOptionsBuilder() .SetUserPassword("password") .SetEncryptionAlgorithm(EncryptionAlgorithm.AES_256) .Build(); // Create a new operation instance ProtectPDFOperation protectPDFOperation = ProtectPDFOperation.CreateNew(protectPDFOptions); // Set operation input from a source file. FileRef sourceFileRef = FileRef.CreateFromLocalFile(@"protectPDFInput.pdf"); protectPDFOperation.SetInput(sourceFileRef); // Execute the operation. FileRef result = protectPDFOperation.Execute(executionContext); // Save the result to the specified location. result.SaveAs(Directory.GetCurrentDirectory() + "/output/protectPDFOutput.pdf"); } catch (ServiceUsageException ex) { log.Error("Exception encountered while executing operation", ex); } catch (ServiceApiException ex) { log.Error("Exception encountered while executing operation", ex); } catch (SDKException ex) { log.Error("Exception encountered while executing operation", ex); } catch (IOException ex) { log.Error("Exception encountered while executing operation", ex); } catch (Exception ex) { log.Error("Exception encountered while executing operation", ex); } }
static void Main() { //Configure the logging ConfigureLogging(); try { // Initial setup, create credentials instance. Credentials credentials = Credentials.ServiceAccountCredentialsBuilder() .FromFile(Directory.GetCurrentDirectory() + "/pdfservices-api-credentials.json") .Build(); // Create an ExecutionContext using credentials. ExecutionContext executionContext = ExecutionContext.Create(credentials); // Create new permissions instance and add the required permissions Permissions permissions = Permissions.CreateNew(); permissions.AddPermission(Permission.PRINT_LOW_QUALITY); permissions.AddPermission(Permission.EDIT_DOCUMENT_ASSEMBLY); permissions.AddPermission(Permission.COPY_CONTENT); // Build ProtectPDF options by setting an Owner/Permissions Password, Permissions, // Encryption Algorithm (used for encrypting the PDF file) and specifying the type of content to encrypt. ProtectPDFOptions protectPDFOptions = ProtectPDFOptions.PasswordProtectOptionsBuilder() .SetOwnerPassword("password") .SetPermissions(permissions) .SetEncryptionAlgorithm(EncryptionAlgorithm.AES_256) .SetContentEncryption(ContentEncryption.ALL_CONTENT_EXCEPT_METADATA) .Build(); // Create a new operation instance ProtectPDFOperation protectPDFOperation = ProtectPDFOperation.CreateNew(protectPDFOptions); // Set operation input from a source file. FileRef sourceFileRef = FileRef.CreateFromLocalFile(@"protectPDFInput.pdf"); protectPDFOperation.SetInput(sourceFileRef); // Execute the operation. FileRef result = protectPDFOperation.Execute(executionContext); // Save the result to the specified location. result.SaveAs(Directory.GetCurrentDirectory() + "/output/protectPDFWithOwnerPasswordOutput.pdf"); } catch (ServiceUsageException ex) { log.Error("Exception encountered while executing operation", ex); } catch (ServiceApiException ex) { log.Error("Exception encountered while executing operation", ex); } catch (SDKException ex) { log.Error("Exception encountered while executing operation", ex); } catch (IOException ex) { log.Error("Exception encountered while executing operation", ex); } catch (Exception ex) { log.Error("Exception encountered while executing operation", ex); } }