翻譯|使用教程|編輯:李顯亮|2021-07-20 09:49:11.017|閱讀 263 次
概述:本文演示了如何在使用 Spire.PDF for Java 對 PDF 文檔進行數字簽名時嵌入時間戳。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Spire.PDF for Java 是一款專門對 PDF 文檔進行操作的 Java 類庫。該類庫的主要功能在于幫助開發人員在 Java 應用程序(J2SE和J2EE)中生成 PDF 文檔和操作現有 PDF 文檔,并且運行環境無需安裝 Adobe Acrobat。
本文演示了如何在使用 Spire.PDF for Java 對 PDF 文檔進行數字簽名時嵌入時間戳。可點擊此處下載最新版測試。
import com.spire.pdf.PdfDocument; import com.spire.pdf.graphics.*; import com.spire.pdf.security.GraphicMode; import com.spire.pdf.security.PdfCertificate; import com.spire.pdf.security.PdfCertificationFlags; import com.spire.pdf.security.PdfSignature; import java.awt.*; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; public class SignWithTimestamp { public static void main(String[] args) { //Load a pdf document PdfDocument doc = new PdfDocument(); doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Introduction.pdf"); //Load the certificate PdfCertificate cert = new PdfCertificate("C:\\Users\\Administrator\\Desktop\\gary.pfx", "e-iceblue"); //Create a PdfSignature object and specify its position and size PdfSignature signature = new PdfSignature(doc, doc.getPages().get(0), cert, "MySignature"); Rectangle2D rect = new Rectangle2D.Float(); rect.setFrame(new Point2D.Float((float) doc.getPages().get(0).getActualSize().getWidth() - 220, (float) doc.getPages().get(0).getActualSize().getHeight() - 140), new Dimension(200, 100)); signature.setBounds(rect); //Set the graphics mode signature.setGraphicMode(GraphicMode.Sign_Detail); //Set the signature content signature.setNameLabel("Signer:"); signature.setName("Gary"); signature.setContactInfoLabel("ContactInfo:"); signature.setContactInfo("02881705109"); signature.setLocationInfoLabel("Location:"); signature.setLocationInfo("Chengdu"); signature.setReasonLabel("Reason: "); signature.setReason("The certificate of this document"); //Set the signature font signature.setSignDetailsFont(new PdfFont(PdfFontFamily.Helvetica, 10f, PdfFontStyle.Regular)); //Set the document permission signature.setDocumentPermissions(PdfCertificationFlags.Forbid_Changes); signature.setCertificated(true); //Configure a time stamp server String timestampServerUrl = "http://timestamp.digicert.com"; signature.configureTimestamp(timestampServerUrl); //Save to file doc.saveToFile("Timestamp.pdf"); doc.close(); } }
輸出結果
整合所有格式API處理套包Spire.office for Java正在慧都網火熱銷售中!立馬1分鐘了解全部咨詢!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn