Encrypting PDF files

This sample illustrates how to encrypt PDF files.

This sample requires a Tools license.

C#
using System;
using SolidFramework.Plumbing;
using SolidFramework.Pdf;

namespace PDFEncryption
{
    class Program
    {
        [STAThread]
        static void Main(string[] args)
        {
            // Call your Solid Documents License
            SolidFramework.License.Import(@"C:\MyFolder\license.xml");

            // Set the location of your the file you want to convert
            String pdfPath = @"C:\YourFolder\yourpdf.pdf";

            //*PDF Encryption*//

            // Create a new PdfDocument Object called document and assign the selected PDF file to it 
            using (PdfDocument document = new PdfDocument(pdfPath))
            {
                // Open the file
                document.Open();

                // Create a new Security Handler object and Assign the Password string values

                //Note: Inorder to set passwords an Encryption Algorithm must be set 
                PdfPasswordSecurityHandler securityHandler = new PdfPasswordSecurityHandler();
                securityHandler.OpenPassword = "user";
                securityHandler.OwnerPassword = "owner";

                // Assign an encryption algorithm

                //Note: In order to set the an encryption algorithm, passwords must be set on the document 
                securityHandler.EncryptionAlgorithm = EncryptionAlgorithm.Aes256BitsX;

                // Write the changes back into the document
                document.SaveProtected(securityHandler, OverwriteMode.ForceOverwrite);
            }
        }
    }
}
C++
#include "stdafx.h"
#include "SolidFramework.h"

using namespace std;

int main()
{
    // Call your Solid Documents License
    SolidFramework::License::Import(L"c:\MyFolder\\license.xml");

    // Add the PDF file to convert
    wstring pdfPath(L"c:\\YourFolder\\yourfile.pdf");

    //*PDF Encryption*//

    // Create a new PdfDocument Object called document and assign the selected PDF file to it 
    SolidFramework::Pdf::PdfDocumentPtr document(new SolidFramework::Pdf::PdfDocument(pdfPath));

    // Open the file
    document->Open();

    // Create a new Security Handler object and Assign the Password string values

    //Note: Inorder to set passwords an Encryption Algorithm must be set 
    SolidFramework::Pdf::PdfPasswordSecurityHandlerPtr securityHandler(new SolidFramework::Pdf::PdfPasswordSecurityHandler());
    securityHandler->setOpenPassword(L"user");
    securityHandler->setOwnerPassword(L"owner");

    // Assign an encryption algorithm

    //Note: In order to set the an encryption algorithm, passwords must be set on the document 
    securityHandler->setEncryptionAlgorithm(SolidFramework::Pdf::EncryptionAlgorithm::Aes256Bits);

    // Write the changes back into the document
    document->SaveProtected(securityHandler, SolidFramework::Plumbing::OverwriteMode::ForceOverwrite);

    document->Close();
    document->Dispose();

    return 0;
}

VB.Net
Imports SolidFramework.Plumbing
Imports SolidFramework.Pdf

Module PDFEncryption

    Sub Main()

        ' Call your Solid Documents License
        SolidFramework.License.Import("C:\MyFolder\license.xml")

        'Define a variable for your source file
        Dim sPdfPath As String

        ' Define a PDF Document object
        Dim myDocument As SolidFramework.Pdf.PdfDocument

        ' Define a new Security Handler Object
        Dim mySecurityHandler As SolidFramework.Pdf.PdfPasswordSecurityHandler

        ' Set values to your variables 
        sPdfPath = "C:\YourFolder\filepdf.pdf"
        myDocument = New PdfDocument(sPdfPath)
        mySecurityHandler = New PdfPasswordSecurityHandler

        ' Open the file
        myDocument.Open(sPdfPath)

        ' Assign an encryption algorithm
        mySecurityHandler.EncryptionAlgorithm = EncryptionAlgorithm.Aes256BitsX

        ' Note: In order to set the an encryption algorithm, passwords must be set on the document 
        mySecurityHandler.OpenPassword = "user"
        mySecurityHandler.OwnerPassword = "owner"

        ' Write the changes back into the document
        myDocument.SaveProtected(mySecurityHandler, OverwriteMode.ForceOverwrite)

        ' Clean up
        myDocument.Close()
        myDocument.Dispose()

    End Sub

End Module