Imports SelectPdf

Namespace Controllers
    Public Class PdfSecurityController
        Inherits Controller

        ' GET: PdfSecurity
        Public Function Index() As ActionResult
            Return View()
        End Function

        <HttpPost> _
        Public Function SubmitAction(collection As FormCollection) As ActionResult
            ' create a new pdf document
            Dim doc As New PdfDocument()

            ' add a new page to the document
            Dim page As PdfPage = doc.AddPage()

            ' create a new pdf font
            Dim font As PdfFont = doc.AddFont(PdfStandardFont.Helvetica)
            font.Size = 20

            ' create a new text element and add it to the page
            Dim text As New PdfTextElement(50, 50, "Pdf Security Settings Sample.", font)
            page.Add(text)

            ' set document passwords
            doc.Security.OwnerPassword = "test1"
            doc.Security.UserPassword = "test2"

            'set document permissions
            doc.Security.CanAssembleDocument = False
            doc.Security.CanCopyContent = True
            doc.Security.CanEditAnnotations = True
            doc.Security.CanEditContent = True
            doc.Security.CanFillFormFields = True
            doc.Security.CanPrint = True

            ' save pdf document
            Dim pdf As Byte() = doc.Save()

            ' close pdf document
            doc.Close()

            ' return resulted pdf document
            Dim fileResult As FileResult = New FileContentResult(pdf, "application/pdf")
            fileResult.FileDownloadName = "Document.pdf"
            Return fileResult
        End Function
    End Class
End Namespace