Remover Assinatura de Arquivo PDF

Remover Assinatura Digital do Arquivo PDF

Quando uma assinatura é adicionada a um arquivo PDF, é possível removê-la. Você pode remover uma assinatura específica ou todas as assinaturas em um arquivo. O método mais rápido para remover a assinatura também remove o campo de assinatura, mas é possível apenas remover a assinatura, mantendo o campo de assinatura para que o arquivo possa ser assinado novamente.

O método RemoveSignature da classe PdfFileSignature permite que você remova uma assinatura de um arquivo PDF. Este método recebe o nome da assinatura como entrada. Especifique o nome da assinatura diretamente para remover todas as assinaturas ou obtenha os nomes das assinaturas usando o método GetSignNames.

O seguinte trecho de código mostra como remover a assinatura digital do arquivo PDF.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RemoveSignature()
{  
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
    
    using (var pdFileSignature = new Aspose.Pdf.Facades.PdfFileSignature())
    {
        // Bind PDF document
        pdFileSignature.BindPdf(dataDir + "signed_rsa.pdf");
        // Get list of signature names
        var sigNames = pdFileSignature.GetSignNames();
        // Remove all the signatures from the PDF file
        for (int index = 0; index < sigNames.Count; index++)
        {
            Console.WriteLine($"Removed {sigNames[index]}");
            pdFileSignature.RemoveSignature(sigNames[index]);
        }

        // Save PDF document
        pdFileSignature.Save(dataDir + "RemoveSignature_out.pdf");
    }
}

Remover Assinatura, mas Manter o Campo de Assinatura

Como mostrado acima, o método RemoveSignature da classe PdfFileSignature permite que você remova campos de assinatura de arquivos PDF. Ao usar este método com versões anteriores a 9.3.0, tanto a assinatura quanto o campo de assinatura são removidos. Alguns desenvolvedores desejam remover apenas a assinatura e manter o campo de assinatura para que ele possa ser usado para resignar o documento. Para manter o campo de assinatura e remover apenas a assinatura, utilize o seguinte trecho de código.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RemoveSignatureButKeepField()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
    
    using (var pdFileSignature = new Aspose.Pdf.Facades.PdfFileSignature())
    {       
        // Bind PDF document
        pdFileSignature.BindPdf(dataDir + "signed_rsa.pdf");

        pdFileSignature.RemoveSignature("Signature1", false);

        // Save PDF document
        pdFileSignature.Save(dataDir + "RemoveSignature_out.pdf");
    }
}

O seguinte exemplo mostra como remover todas as assinaturas dos campos.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RemoveSignatureButKeepField2()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
    
    using (var pdFileSignature = new Aspose.Pdf.Facades.PdfFileSignature())
    {       
        // Bind PDF document
        pdFileSignature.BindPdf(dataDir + "signed_rsa.pdf");

        var sigNames = pdFileSignature.GetSignatureNames();
        foreach (var sigName in sigNames)
        {
            pdFileSignature.RemoveSignature(sigName, false);
        }

        // Save PDF document
        pdFileSignature.Save(dataDir + "RemoveSignature_out.pdf");
    }
}