Este artigo nítido tem todas as informações sobre como assinar digitalmente um documento do Excel usando Java. Ele contém as etapas lógicas necessárias para executar essa tarefa programaticamente junto com o código de amostra executável para inserir assinatura eletrônica no Excel usando Java. Você também aprenderá a personalizar esse processo para usar um PFX para criar uma assinatura digital e, em seguida, colocar essa assinatura no arquivo do Excel antes de salvá-lo como um arquivo XLSX ou em qualquer outro formato compatível.
Etapas para criar uma assinatura digital no Excel usando Java
- Configure o ambiente para usar Aspose.Cells do repositório para assinar o arquivo do Excel
- Instanciar um Keystore e carregar o certificado usando o nome e a senha do arquivo de certificado
- Crie um digital signature usando o keystore acima e a senha da chave privada
- Forneça comentários, data de assinatura e hora para a assinatura digital
- Crie uma coleção de assinatura digital e adicione a assinatura digital recém-criada a ela
- Carregue o workbook e adicione a coleção de assinatura digital a ele
- Salve a pasta de trabalho assinada digitalmente
Estas etapas descrevem o procedimento como criar uma assinatura eletrônica no Excel usando Java. Um processo passo a passo é apresentado onde primeiro um keystore é criado usando o certificado PFX e a senha da chave privada, então uma coleção de assinatura digital é criada e uma nova assinatura digital criada com a ajuda do keystore é adicionada a essa coleção. Na etapa final, a pasta de trabalho de destino é carregada e a coleção de assinaturas digitais é adicionada a ela.
Código para colocar assinatura digital no Excel usando Java
import java.io.FileInputStream; | |
import java.io.InputStream; | |
import com.aspose.cells.DigitalSignature; | |
import com.aspose.cells.DigitalSignatureCollection; | |
import com.aspose.cells.Workbook; | |
public class AsposeTest { | |
public static void main(String[] args) throws Exception {//Main function to add a digital signature to a spreadsheet in java | |
// Instantiate a license | |
com.aspose.cells.License slidesLicense = new com.aspose.cells.License(); | |
slidesLicense.setLicense("Aspose.Total.lic"); | |
// Using the cryptography PKCS12, create a Keystore | |
java.security.KeyStore keyStore = java.security.KeyStore.getInstance("PKCS12"); | |
// Load certificate into the InputStream | |
InputStream inStreamCert = new FileInputStream("TestCert1.pfx"); | |
// Load the certificate into the Keystore by providing the certificate file and its password | |
keyStore.load(inStreamCert, "testcert1".toCharArray()); | |
// Create the digital signature | |
DigitalSignature digtSign = new DigitalSignature(keyStore, "testcert1", "New digital signature is added to a workbook",com.aspose.cells.DateTime.getNow()); | |
// Instantiate a collection of digital signatures | |
DigitalSignatureCollection digtSignColl = new DigitalSignatureCollection(); | |
// Add the digital signature to the collection | |
digtSignColl.add(digtSign); | |
// Load the spreadsheet | |
Workbook wbToBeSigned = new Workbook("sampleSpreadsheet.xlsx"); | |
// Add the collection of digital signatures to the workbook | |
wbToBeSigned.addDigitalSignature(digtSignColl); | |
// Save the workbook with an electronic signature | |
wbToBeSigned.save("outputDigitallySignedByCells.xlsx"); | |
System.out.println("Done"); | |
} | |
} |
Neste código para assinar digitalmente o Excel usando Java, um Keystore é criado usando a criptografia PKCS12 e, em seguida, o arquivo de certificado é carregado nele. O DigitalSignature é criado fornecendo o armazenamento de chaves, senha de chave privada, comentários e tempo de assinatura fornecido pelo usuário, mas você também pode adicionar imagem de assinatura, id de provedor e XAdESType. A pasta de trabalho de saída pode ser salva em qualquer um dos formatos suportados, como XLSX, XLS, XLSM, ODS, XLSB, etc.
Este tutorial compartilhou o processo para assinar digitalmente o arquivo do Excel, mas se você quiser aprender o processo para converter o Excel em uma imagem, consulte o artigo em como converter planilhas do Excel para imagem em Java.