itext可以生成pdf並對其進行各種操作,其中就包括簽章,並且用其他工具籤的章,itext也可以識別出來。
目前系統中有乙個需求,系統要求上傳的pdf必須進行簽章,上傳後需要對pdf進行驗籤和拿到pdf章的證書的所有者,
拿到章證書的所有者**如下
pdfreader reader = new pdfreader(pdfpath);
acrofields acrofields = reader.getacrofields();
if (acrofields == null)
//簽章名稱
listsignaturenames = acrofields.getsignaturenames();
if (signaturenames == null || signaturenames.size() == 0)
reader.close();
for (string str : signaturenames)
pdfname sub = sigdict.getasname(pdfname.subfilter);
if (pdfname.adbe_x509_rsa_sha1.equals(sub))
if (certstr == null)
//簽章對應的證書
x509certparser certparser = new x509certparser();
certparser.engineinit(new bytearrayinputstream(certstr.getbytes()));
collectioncerts = certparser.enginereadall();
if (certs == null || certs.size() == 0)
x509certificate certificate = (x509certificate) certs.iterator().next();
if (certificate == null)
x500principal principal = certificate.getsubjectx500principal();
if (principal == null)
//簽章對應的證書的所有者
ldapname ldapdn = new ldapname(principal.getname());
for (rdn rdn : ldapdn.getrdns()) }}
}
使用iText操作pdf檔案
itext建立pdf檔案是十分簡單的,為了演示其極其簡單性,我們做乙個helloworld吧,讓大家體驗一下。在這個pdf檔案中,我們只顯示一句話 hello world 實現方式如下 建立乙個文件物件 document doc new document try catch filenotfound...
使用iText操作pdf檔案
好了,回到文章主題,查了下itext後,我也去稍微看了下相關的api,做了一些簡單的demo,雖然網上相關介紹很多,但是自己寫一遍程式再用自己的語言記錄下來,理解會更為深刻一點。一.hello world itext建立pdf檔案是十分簡單的,為了演示其極其簡單性,我們做乙個helloworld吧,...
使用itext包生成pdf檔案
最近在寫乙個定時任務,定時生成乙個pdf檔案並實現傳送的功能,在此給大家順帶講一下生成pdf檔案的庫吧 生成pdf檔案所用庫itext,具體操作如下 com.itextpdf itextpdf 5.5.10 如果輸出的是中文的話,那麼還需要引入下面這個包 com.itextpdf itext asi...