VB.NET
VB.NET
PDF Get Encryption and Permissions Information
See more PDF Signatures Examples
Determine if a PDF is encrypted, and the associated user permissions.Note: Some PDFs are encrypted but not password-protected. In such cases, encryption is used primarily for preventing unauthorized modifications to the document, but it doesn't restrict access. Therefore, you can open and read the document without a password.
Chilkat VB.NET Downloads
Dim success As Boolean = False
' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim pdf As New Chilkat.Pdf
' Load a PDF.
success = pdf.LoadFile("c:/someDir/sample.pdf")
If (success = False) Then
Debug.WriteLine(pdf.LastErrorText)
Exit Sub
End If
' Get information about the PDF that was collected in the call to LoadFile.
Dim ljd As New Chilkat.JsonObject
pdf.GetLastJsonData(ljd)
ljd.EmitCompact = False
Debug.WriteLine(ljd.Emit())
' Sample output:
' {
' "pdfVersion": "1.6",
' "encrypt": {
' "filter": "/Standard",
' "keyLength": 128,
' "V": 4,
' "R": 4,
' "P": -1340,
' "perm": {
' "printLowResolution": "allowed",
' "printHighResolution": "allowed",
' "modifyOther": "not allowed",
' "modifyAnnotations": "allowed",
' "modifyForms": "not allowed",
' "fillInForms": "allowed",
' "assembleDoc": "allowed",
' "extractAnyPurpose": "not allowed",
' "extractAccessibility": "not allowed"
' },
' "method": "AESV2"
' }
' }
' Use this online tool to generate parsing code from sample JSON:
' Generate Parsing Code from JSON
Dim pdfVersion As String = ljd.StringOf("pdfVersion")
Dim Filter As String = ljd.StringOf("encrypt.filter")
Dim KeyLength As Integer = ljd.IntOf("encrypt.keyLength")
Dim V As Integer = ljd.IntOf("encrypt.V")
Dim R As Integer = ljd.IntOf("encrypt.R")
Dim P As Integer = ljd.IntOf("encrypt.P")
Dim PrintLowResolution As String = ljd.StringOf("encrypt.perm.printLowResolution")
Dim PrintHighResolution As String = ljd.StringOf("encrypt.perm.printHighResolution")
Dim ModifyOther As String = ljd.StringOf("encrypt.perm.modifyOther")
Dim ModifyAnnotations As String = ljd.StringOf("encrypt.perm.modifyAnnotations")
Dim ModifyForms As String = ljd.StringOf("encrypt.perm.modifyForms")
Dim FillInForms As String = ljd.StringOf("encrypt.perm.fillInForms")
Dim AssembleDoc As String = ljd.StringOf("encrypt.perm.assembleDoc")
Dim ExtractAnyPurpose As String = ljd.StringOf("encrypt.perm.extractAnyPurpose")
Dim ExtractAccessibility As String = ljd.StringOf("encrypt.perm.extractAccessibility")
Dim Method As String = ljd.StringOf("encrypt.method")