C# iText 9 GetCertificationLevel()C#

Место общения программистов C#
Ответить
Anonymous
 C# iText 9 GetCertificationLevel()

Сообщение Anonymous »

Я использую C# и iText9.
Я хотел бы получить некоторую информацию из iText.Signatures.SignerProperties, например: CertificationLevel == 2, или нет, поэтому я попробовал инициализировать SignerProperties - это еще один способ, но я не могу подключить его к PdfDocument.
Могу ли я спросить, как я могу инициализировать экземпляр iText.Signatures.SignerProperties на основе существующего PDF-документа и получить результат метода GetCertificationLevel()?
static void getCertificationLevel( String SRC )
{
PdfReader reader = new PdfReader( SRC );
PdfDocument doc = new PdfDocument( reader );
SignatureUtil signUtil = new SignatureUtil(doc);

if (signUtil.GetSignatureNames().Count == 0)
{
Console.WriteLine("There is no signature here.");
}
else
{
foreach (var sigName in signUtil.GetSignatureNames())
{
PdfSignature signature = signUtil.GetSignature(sigName);

PdfDictionary dict = signUtil.GetSignatureDictionary(sigName); // https://stackoverflow.com/questions/583 ... 3#58418033

// SignaturePermissions sperm = new SignaturePermissions(dict, ... )

//PdfSigner signer = new PdfSigner(doc); // 'PdfSigner' does not contain a constructor that takes 1 arguments
//var signerProperties = signer.GetSignerProperties(); // mi teremt kapcsolatot a PdfReader, PdfDocument, vagy PdfSigner között...???

SignerProperties sp = new SignerProperties();

switch ( sp.GetCertificationLevel() ) // https://api.itextpdf.com/iText/dotnet/9 ... 2be0460318
{
case AccessPermissions.UNSPECIFIED: // 0
Console.WriteLine("Unspecified access permissions value which makes signature 'approval' rather than 'certification'.");
break;
case AccessPermissions.NO_CHANGES_PERMITTED: // 1
Console.WriteLine("Access permissions level 1 which indicates that no changes are permitted except for DSS and DTS creation.");
break;
case AccessPermissions.FORM_FIELDS_MODIFICATION: // 2
Console.WriteLine("Access permissions level 2 which indicates that permitted changes, with addition to level 1, are: filling in forms, instantiating page templates, and signing. ");
break;
case AccessPermissions.ANNOTATION_MODIFICATION: // 3
Console.WriteLine("Access permissions level 3 which indicates that permitted changes, with addition to level 2, are: annotation creation, deletion and modification. ");
break;
default :
Console.WriteLine("WTF...?");
break;
} // switch
} // foreach
} // if
} // getCertificationLevel()


Подробнее здесь: https://stackoverflow.com/questions/793 ... ationlevel
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»