Eliminar firma de archivo PDF

Eliminar firma digital del archivo PDF

Cuando se ha añadido una firma a un archivo PDF, es posible eliminarla. Puede eliminar una firma particular o todas las firmas en un archivo. El método más rápido para eliminar la firma también elimina el campo de firma, pero es posible eliminar solo la firma, manteniendo el campo de firma para que el archivo pueda ser firmado nuevamente.

El método RemoveSignature de la clase PdfFileSignature le permite eliminar una firma de un archivo PDF. Este método toma el nombre de la firma como entrada. Puede especificar el nombre de la firma directamente, para eliminar todas las firmas, o obtener los nombres de las firmas utilizando el método GetSignNames.

El siguiente fragmento de código muestra cómo eliminar la firma digital del archivo 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");
    }
}

Eliminar firma pero mantener el campo de firma

Como se mostró anteriormente, el método RemoveSignature de la clase PdfFileSignature le permite eliminar campos de firma de archivos PDF. Al usar este método con versiones anteriores a 9.3.0, tanto la firma como el campo de firma se eliminan. Algunos desarrolladores desean eliminar solo la firma y mantener el campo de firma para que se pueda usar para volver a firmar el documento. Para mantener el campo de firma y eliminar solo la firma, utilice el siguiente fragmento 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");
    }
}

El siguiente ejemplo muestra cómo eliminar todas las firmas de los 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");
    }
}