Den här skarpa artikeln har all information om hur man digitalt signerar ett Excel-dokument med Java. Den innehåller de logiska stegen som krävs för att utföra denna uppgift programmatiskt tillsammans med den körbara exempelkoden för att infoga elektronisk signatur i Excel med Java. Du kommer också att lära dig anpassning av denna process för att använda en PFX för att skapa en digital signatur och sedan lägga denna signatur i Excel-filen innan du sparar den som en XLSX-fil eller i något annat format som stöds.
Steg för att skapa en digital signatur i Excel med Java
- Konfigurera miljön för att använda Aspose.Cells från arkivet för att signera Excel-filen
- Instantiera ett nyckellager och ladda certifikatet med certifikatets filnamn och lösenord
- Skapa en digital signature med hjälp av ovanstående nyckellager och lösenordet för den privata nyckeln
- Ange kommentarer, signeringsdatum och tid för den digitala signaturen
- Skapa en digital signatursamling och lägg till den nyskapade digitala signaturen till den
- Ladda workbook och lägg till den digitala signatursamlingen till den
- Spara den digitalt signerade arbetsboken
Dessa steg beskriver proceduren hur man skapar en elektronisk signatur i Excel med Java. En stegvis process presenteras där först ett nyckellager skapas genom att använda PFX-certifikatet och det privata nyckellösenordet, sedan skapas en digital signatursamling och en ny digital signatur skapad med hjälp av nyckellagret läggs till denna samling. I det sista steget laddas målarbetsboken och den digitala signatursamlingen läggs till den.
Kod för att sätta digital signatur i Excel med 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"); | |
} | |
} |
I den här koden för att digitalt signera Excel med Java skapas ett nyckellager genom att använda kryptografin PKCS12 och sedan laddas certifikatfilen in i den. DigitalSignaturen skapas genom att tillhandahålla nyckellager, privat nyckellösenord, kommentarer och användartillhandahållen signaturtid men du kan också lägga till signaturbild, leverantörs-id och XAdESType. Utdataarbetsboken kan sparas i något av de format som stöds som XLSX, XLS, XLSM, ODS, XLSB, etc.
Den här handledningen delade processen för digital signering av Excel-filen, men om du vill lära dig processen för att konvertera Excel till en bild, se artikeln om hur man konverterar Excel-ark till bild i Java.