PdfFileSignature

遗产: java.lang.Object, com.aspose.pdf.facades.IVentureLicenseTarget, com.aspose.pdf.facades.Facade, com.aspose.pdf.facades.SaveableFacade

public final class PdfFileSignature extends SaveableFacade

代表一个用证书签署 pdf 文件的类。

构造函数

构造函数描述
PdfFileSignature()PdfFileSignature 类的构造函数。
PdfFileSignature(String inputFile)PdfFileSignature 类的构造函数。
PdfFileSignature(String inputFile, String outputFile)PdfFileSignature 类的构造函数。
PdfFileSignature(IDocument document)在文档的基础上初始化新的 PdfFileSignature 对象。
PdfFileSignature(IDocument document, String outputFile)在文档的基础上初始化新的 PdfFileSignature 对象。

方法

方法描述
bindPdf(IDocument srcDoc)初始化门面。
bindPdf(InputStream inputStream)绑定一个 Pdf 流进行编辑。
bindPdf(InputStream srcStream, String password)初始化门面。
bindPdf(String inputFile)绑定一个 Pdf 文件进行编辑。
bindPdf(String srcFile, String password)初始化门面。
certify(int page, String SigReason, String SigContact, String SigLocation, boolean visible, Rectangle annotRect, DocMDPSignature docMdpSignature)使用 MDP 签名验证文档。
certify(String sigName, DocMDPSignature docMdpSignature)使用放置在已提供的签名字段中的 MDP 签名来证明文档。
close()关闭门面。
containsSignature()检查 pdf 是否有数字签名。
containsUsageRights()检查 pdf 是否具有使用权限。
coversWholeDocument(String signName)检查签名是否覆盖整个文档。
dispose()关闭门面。
equals(Object arg0)
extractCertificate(String signName)将签名的单个 X.509 证书提取为流。
extractImage(String signName)提取签名的图像。
getAccessPermissions()按 MDP 签名类型返回认证文档的访问权限值。
getBlankSignNames()获取所有空签名字段的名称。
getClass()
getContactInfo(String signName)获取签名的联系方式。
getDateTime(String signName)获取签名的日期时间。
getDocument()获取正在处理的文档外观。
getLocation(String signName)获取签名的位置。
getReason(String signName)获取签名的原因。
getRevision(String signName)获取签名的修订。
getSignNames()获取所有非空签名的名称。
getSignNames(boolean onlyActive)获取所有非空签名的名称。
getSignatureAppearance()获取签名的图形外观。
getSignatureAppearanceStream()获取签名的图形外观。
getSignerName(String signName)获取签署 pdf 文档的个人或组织的名称。
getTotalRevision()获取总修订版。
hashCode()
isCertified()获取确定文档是否经过认证的标志。
isContainSignature()检查 pdf 是否有数字签名。
isCoversWholeDocument(String signName)检查签名是否覆盖整个文档。
isLtvEnabled()获取 LTV 启用标志。
notify()
notifyAll()
removeSignature(String signName)根据签名的名称去除签名。
removeSignature(String signName, boolean removeField)根据签名的名称移除签名。
removeUsageRights()删除使用权限条目。
save()保存签名的 pdf 文件。
save(OutputStream outputStream)将结果 PDF 保存到流中。
save(String outputFile)将结果 PDF 保存到文件。
setCertificate(String pfx, String pass)为签名例程设置证书文件和密码。
setSignatureAppearance(String value)设置签名的图形外观。
setSignatureAppearanceStream(InputStream value)设置签名的图形外观。
sign(int page, boolean visible, Rectangle annotRect, Signature sig)使用给定的类型签名签署文档。
sign(int page, String SigReason, String SigContact, String SigLocation, boolean visible, Rectangle annotRect)在 pdf 文档上签名。
sign(int page, String SigReason, String SigContact, String SigLocation, boolean visible, Rectangle annotRect, Signature sig)使用给定的类型签名签署文档。
sign(int page, String SigName, String SigReason, String SigContact, String SigLocation, boolean visible, Rectangle annotRect, Signature sig)使用放置在已提供的签名字段中的给定类型签名对文档进行签名。
sign(String SigName, Signature sig)使用放置在已提供的签名字段中的给定类型签名对文档进行签名。
sign(String SigName, String SigReason, String SigContact, String SigLocation, Signature sig)使用放置在已提供的签名字段中的给定类型签名对文档进行签名。
toString()
verifySignature(String signName)检查签名的有效性。
verifySigned(String signName)检查签名的有效性。
wait()
wait(long arg0)
wait(long arg0, int arg1)

PdfFileSignature()

public PdfFileSignature()

PdfFileSignature 类的构造函数。

PdfFileSignature(String inputFile)

public PdfFileSignature(String inputFile)

PdfFileSignature 类的构造函数。

参数:

范围类型描述
inputFilejava.lang.String签名的输入文件。

PdfFileSignature(String inputFile, String outputFile)

public PdfFileSignature(String inputFile, String outputFile)

PdfFileSignature 类的构造函数。

参数:

范围类型描述
inputFilejava.lang.String签名的输入文件。
outputFilejava.lang.String输出文件。

PdfFileSignature(IDocument document)

public PdfFileSignature(IDocument document)

在文档的基础上初始化新的 PdfFileSignature 对象。

参数:

范围类型描述
documentIDocumentpdf文档。

PdfFileSignature(IDocument document, String outputFile)

public PdfFileSignature(IDocument document, String outputFile)

在文档的基础上初始化新的 PdfFileSignature 对象。

参数:

范围类型描述
documentIDocumentpdf文档。
outputFilejava.lang.String输出文件。

bindPdf(IDocument srcDoc)

public void bindPdf(IDocument srcDoc)

初始化门面。

参数:

范围类型描述
srcDocIDocument文档对象。

bindPdf(InputStream inputStream)

public void bindPdf(InputStream inputStream)

绑定一个 Pdf 流进行编辑。

参数:

范围类型描述
inputStreamjava.io.InputStream要编辑的 pdf 流。

bindPdf(InputStream srcStream, String password)

public void bindPdf(InputStream srcStream, String password)

初始化门面。

参数:

范围类型描述
srcStreamjava.io.InputStreamPDF文件流。
passwordjava.lang.StringPDF文档的密码。

bindPdf(String inputFile)

public void bindPdf(String inputFile)

绑定一个 Pdf 文件进行编辑。

参数:

范围类型描述
inputFilejava.lang.String要编辑的 pdf 文件。

bindPdf(String srcFile, String password)

public void bindPdf(String srcFile, String password)

初始化门面。

参数:

范围类型描述
srcFilejava.lang.StringPDF文件
passwordjava.lang.StringPDF文档的密码。

certify(int page, String SigReason, String SigContact, String SigLocation, boolean visible, Rectangle annotRect, DocMDPSignature docMdpSignature)

public void certify(int page, String SigReason, String SigContact, String SigLocation, boolean visible, Rectangle annotRect, DocMDPSignature docMdpSignature)

使用 MDP 签名验证文档。签名原因、联系人和位置等数据必须由签名对象sig 的相应属性提供。

参数:

范围类型描述
pageint签名的页面。
SigReasonjava.lang.String签名的原因。
SigContactjava.lang.String签名联系方式。
SigLocationjava.lang.String签名的位置。
visibleboolean签名的可见性。
annotRectjava.awt.Rectangle签名的矩形。
docMdpSignatureDocMDPSignature签名的文档 MDP 类型。

certify(String sigName, DocMDPSignature docMdpSignature)

public final void certify(String sigName, DocMDPSignature docMdpSignature)

使用放置在已提供的签名字段中的 MDP 签名来证明文档。签名前签名字段必须为空,即字段不能包含签名字典。因此pdf文档已经有签名域,你不应该提供盖章签名的地方,相应的页面和矩形取自通过签名名称找到的签名域(见sigName参数)。

参数:

范围类型描述
sigNamejava.lang.String签名域的名称。
docMdpSignatureDocMDPSignature签名的类型,可以是,和

close()

public void close()

关闭门面。

containsSignature()

public boolean containsSignature()

检查 pdf 是否有数字签名。

退货: boolean - 返回 bool 类型的结果。

containsUsageRights()

public boolean containsUsageRights()

检查 pdf 是否具有使用权限。

退货: boolean - 返回 bool 类型的结果。

coversWholeDocument(String signName)

public boolean coversWholeDocument(String signName)

检查签名是否覆盖整个文档。

参数:

范围类型描述
signNamejava.lang.String署名名称。

退货: boolean - 返回 bool 类型的结果。

dispose()

public void dispose()

关闭门面。此方法已过时,请改用 close() 。

equals(Object arg0)

public boolean equals(Object arg0)

参数:

范围类型描述
arg0java.lang.Object

退货: 布尔值

extractCertificate(String signName)

public InputStream extractCertificate(String signName)

将签名的单个 X.509 证书提取为流。

参数:

范围类型描述
signNamejava.lang.String署名名称。

退货: java.io.InputStream - 如果找到证书则返回 X.509 单一证书;否则为空。

extractImage(String signName)

public InputStream extractImage(String signName)

提取签名的图像。

参数:

范围类型描述
signNamejava.lang.String署名名称。

退货: java.io.InputStream - 如果成功找到图像则返回流对象;否则为空。

getAccessPermissions()

public int getAccessPermissions()

按 MDP 签名类型返回认证文档的访问权限值。

退货: int - 如果文档正在被认证,则返回访问权限值;否则,被抛出。

getBlankSignNames()

public List<String> getBlankSignNames()

获取所有空签名字段的名称。

退货: java.util.List<java.lang.String> - 返回一个数组列表。

getClass()

public final native Class<?> getClass()

退货: java.lang.Class

getContactInfo(String signName)

public String getContactInfo(String signName)

获取签名的联系方式。

参数:

范围类型描述
signNamejava.lang.String署名名称。

退货: java.lang.String - 返回 String 类型的结果。

getDateTime(String signName)

public Date getDateTime(String signName)

获取签名的日期时间。

参数:

范围类型描述
signNamejava.lang.String署名名称。

退货: Date - 返回日期时间类型的结果。

getDocument()

public IDocument getDocument()

获取正在处理的文档外观。

退货: IDocument IDocument 元素

getLocation(String signName)

public String getLocation(String signName)

获取签名的位置。

参数:

范围类型描述
signNamejava.lang.String署名名称。

退货: java.lang.String - 返回 String 类型的结果。

getReason(String signName)

public String getReason(String signName)

获取签名的原因。

参数:

范围类型描述
signNamejava.lang.String署名名称。

退货: java.lang.String - 返回 String 类型的结果。

getRevision(String signName)

public int getRevision(String signName)

获取签名的修订。

参数:

范围类型描述
signNamejava.lang.String署名名称。

退货: int - 返回签名修订号。

getSignNames()

public final List<String> getSignNames()

获取所有非空签名的名称。


退货: java.util.List<java.lang.String> - 返回一个数组列表。

getSignNames(boolean onlyActive)

public List<String> getSignNames(boolean onlyActive)

获取所有非空签名的名称。


String inFile=TestPath + "example1.pdf";
  PdfFileSignature pdfSign=new PdfFileSignature();
  pdfSign.bindPdf(inFile);
  ArrayList names=pdfSign.getSignNames(true);
 for(int i=0;i<names.Count;i++)
 {
   System.out.println("signature name:"+(String)names[i]);
   System.out.println("coverswholedocument:"+pdfSign.IsCoversWholeDocument((String)names[i]));
   System.out.println("revision:"+pdfSign.GetRevision((String)names[i]));
   System.out.println("verifysigned:"+pdfSign.VerifySigned((String)names[i]));
   System.out.println("reason:"+pdfSign.GetReason((String)names[i]));
   System.out.println("location:"+pdfSign.GetLocation((String)names[i]));
   System.out.println("datatime:"+pdfSign.GetDateTime((String)names[i]));
  }
  System.out.println("totalvision:"+pdfSign.GetTotalRevision());

参数:

范围类型描述
onlyActiveboolean布尔值,如果为真,则只返回有效签名;否则,返回所有签名。

退货: java.util.List<java.lang.String> - 返回一个数组列表。

getSignatureAppearance()

public String getSignatureAppearance()

获取签名的图形外观。属性值表示图像文件名。

退货: java.lang.String - 字符串值

getSignatureAppearanceStream()

public InputStream getSignatureAppearanceStream()

获取签名的图形外观。属性值表示图像流。

退货: java.io.InputStream - InputStream 元素

getSignerName(String signName)

public String getSignerName(String signName)

获取签署 pdf 文档的个人或组织的名称。

参数:

范围类型描述
signNamejava.lang.String署名名称。

退货: java.lang.String - 返回签名者姓名的结果。

getTotalRevision()

public int getTotalRevision()

获取总修订版。

退货: int - 返回签名修订的总数。

hashCode()

public native int hashCode()

退货: 整数

isCertified()

public boolean isCertified()

获取确定文档是否经过认证的标志。

退货: boolean - 布尔值

isContainSignature()

public boolean isContainSignature()

检查 pdf 是否有数字签名。

退货: boolean - 返回 bool 类型的结果。

isCoversWholeDocument(String signName)

public boolean isCoversWholeDocument(String signName)

检查签名是否覆盖整个文档。

参数:

范围类型描述
signNamejava.lang.String署名名称。

退货: boolean - 返回 bool 类型的结果。

isLtvEnabled()

public final boolean isLtvEnabled()

获取 LTV 启用标志。

退货: boolean - 布尔值

notify()

public final native void notify()

notifyAll()

public final native void notifyAll()

removeSignature(String signName)

public void removeSignature(String signName)

根据签名的名称去除签名。


String inFile = TestPath + "example1.pdf";
 PdfFileSignature pdfSign = new PdfFileSignature();
 pdfSign.bindPdf(inFile);
 List names = pdfSign.getSignNames();
 for(int i = 0; i < names.size(); i++)
 {
    pdfSign.removeSignature((String)names.get(i));
 }
 pdfSign.save(TestPath + "signed_removed.pdf");

参数:

范围类型描述
signNamejava.lang.String署名名称。

removeSignature(String signName, boolean removeField)

public void removeSignature(String signName, boolean removeField)

根据签名的名称移除签名。


String inFile = TestPath + "example1.pdf";
 PdfFileSignature pdfSign = new PdfFileSignature();
 pdfSign.BindPdf(inFile);
 List names = pdfSign.getSignNames();
 for(int i = 0; i < names.size(); i++)
 {
    pdfSign.removeSignature((String)names.get(i), false);
 }
 pdfSign.save(TestPath + "signed_removed.pdf");

参数:

范围类型描述
signNamejava.lang.String署名名称。
removeFieldboolean如果设置为 true,则从文档中删除签名和字段;否则,仅签名。

removeUsageRights()

public void removeUsageRights()

删除使用权限条目。

save()

public void save()

保存签名的 pdf 文件。必须在相应的 PdfFileSignature 构造函数的帮助下之前提供输出文件名。

save(OutputStream outputStream)

public void save(OutputStream outputStream)

将结果 PDF 保存到流中。

参数:

范围类型描述
outputStreamjava.io.OutputStream输出pdf流

save(String outputFile)

public void save(String outputFile)

将结果 PDF 保存到文件。

参数:

范围类型描述
outputFilejava.lang.String输出pdf文件

setCertificate(String pfx, String pass)

public void setCertificate(String pfx, String pass)

为签名例程设置证书文件和密码。

参数:

范围类型描述
pfxjava.lang.StringPKCS#12 证书文件。
passjava.lang.String用于访问证书私钥的密码。

setSignatureAppearance(String value)

public void setSignatureAppearance(String value)

设置签名的图形外观。属性值表示图像文件名。

参数:

范围类型描述
valuejava.lang.String字符串值

setSignatureAppearanceStream(InputStream value)

public void setSignatureAppearanceStream(InputStream value)

设置签名的图形外观。属性值表示图像流。

参数:

范围类型描述
valuejava.io.InputStream输入流元素

sign(int page, boolean visible, Rectangle annotRect, Signature sig)

public void sign(int page, boolean visible, Rectangle annotRect, Signature sig)

使用给定的类型签名签署文档。


String inFile = TestPath + "example1.pdf";
 String outFile = TestPath + "signature.pdf";
 PKCS1 sig = new PKCS1("certificate.pfx", "password");
 sig.setReason ( "Some reason");
 sig.setContact ( "Smith");
 sig.setLocation ( "New York");
 PdfFileSignature pdfSign = new PdfFileSignature(inFile, outFile);
 Rectangle rect = new Rectangle(100, 100, 200, 100);
 pdfSign.setSignatureAppearance ( TestPath + "butterfly.jpg");
 pdfSign.sign(2, true, rect, sig);
 pdfSign.save();

参数:

范围类型描述
pageint签名的页码。
visibleboolean签名的可见性。
annotRectjava.awt.Rectangle签名的矩形。
sigSignature签名的类型,可以是 PKCS1、PKCS7 和 PKCS7Detached。签名原因、联系人和位置等数据必须已经存在于此对象中(请参阅相应的属性)。

sign(int page, String SigReason, String SigContact, String SigLocation, boolean visible, Rectangle annotRect)

public void sign(int page, String SigReason, String SigContact, String SigLocation, boolean visible, Rectangle annotRect)

在 pdf 文档上签名。

String inFile = TestPath + "example1.pdf";
 String outFile = TestPath + "signature.pdf";
 PdfFileSignature pdfSign = new PdfFileSignature();
 pdfSign.bindPdf(inFile);
 Rectangle rect = new Rectangle(100, 100, 200, 200);
 pdfSign.setSignatureAppearance ( TestPath + "butterfly.jpg");
 pdfSign.setCertificate("certificate.pfx", "password");
 pdfSign.sign(2, "Allen", "success", "ChangSha", true, rect);
 pdfSign.save(outFile);

参数:

范围类型描述
pageint签名的页码。
SigReasonjava.lang.String签名的原因。
SigContactjava.lang.String签名联系方式。
SigLocationjava.lang.String签名的位置。
visibleboolean签名的可见性。
annotRectjava.awt.Rectangle签名的矩形。

sign(int page, String SigReason, String SigContact, String SigLocation, boolean visible, Rectangle annotRect, Signature sig)

public void sign(int page, String SigReason, String SigContact, String SigLocation, boolean visible, Rectangle annotRect, Signature sig)

使用给定的类型签名签署文档。


String inFile = TestPath + "example1.pdf";
 String outFile = TestPath + "signature.pdf";
 PdfFileSignature pdfSign = new PdfFileSignature(inFile, outFile);
 Rectangle rect = new Rectangle(100, 100, 200, 100);
 pdfSign.setSignatureAppearance ( TestPath + "butterfly.jpg");
 pdfSign.sign(2, "Allen", "success", "ChangSha", true, rect, new PKCS1("certificate.pfx", "password"));
 pdfSign.save();

参数:

范围类型描述
pageint签名的页码。
SigReasonjava.lang.String签名的原因。
SigContactjava.lang.String签名联系方式。
SigLocationjava.lang.String签名的位置。
visibleboolean签名的可见性。
annotRectjava.awt.Rectangle签名的矩形。
sigSignature签名的类型,可以是 PKCS1、PKCS7 和 PKCS7Detached。

sign(int page, String SigName, String SigReason, String SigContact, String SigLocation, boolean visible, Rectangle annotRect, Signature sig)

public void sign(int page, String SigName, String SigReason, String SigContact, String SigLocation, boolean visible, Rectangle annotRect, Signature sig)

使用放置在已提供的签名字段中的给定类型签名对文档进行签名。签名前pdf文档应该已经有签名域,相应的页面和矩形取自签名名找到的签名域(见SigName参数)。


String inFile = TestPath + "blankWithSignature.pdf";
 String outFile = TestPath + "signature.pdf";
 PKCS7 sig = new PKCS7("certificate.pfx", "password");
 PdfFileSignature pdfSign = new PdfFileSignature(inFile);
 Rectangle rect = new Rectangle(100, 100, 100, 100);
 pdfSign.setSignatureAppearance( TestPath + "butterfly.jpg");
 pdfSign.sign(1, "Signature1", "ReasonToTest", "ContactMe", "SomeLocation", true, rect, sig);
 pdfSign.save(outFile);

参数:

范围类型描述
pageint签名的页码。
SigNamejava.lang.String签名域的名称。
SigReasonjava.lang.String签名的原因。
SigContactjava.lang.String签名联系方式。
SigLocationjava.lang.String签名的位置。
visibleboolean签名的可见性。
annotRectjava.awt.Rectangle签名的矩形。
sigSignature签名的类型,可以是 PKCS1、PKCS7 和 PKCS7Detached。

sign(String SigName, Signature sig)

public void sign(String SigName, Signature sig)

使用放置在已提供的签名字段中的给定类型签名对文档进行签名。签名前签名字段必须为空,即字段不能包含签名字典。因此pdf文档已经有签名域,你不应该提供盖章签名的地方,相应的页面和矩形取自通过签名名称找到的签名域(见SigName参数)。签名原因、联系人和位置等数据必须由签名对象sig 的相应属性提供。


String inFile = TestPath + "example1.pdf";
 String outFile = TestPath + "signature.pdf";
 PKCS1 sig = new PKCS1("certificate.pfx", "password");
 sig.setReason ( "Some reason");
 sig.setContact ( "Smith");
 sig.setLocation ( "New York");
 PdfFileSignature pdfSign = new PdfFileSignature(inFile, outFile);
 pdfSign.setSignatureAppearance ( TestPath + "butterfly.jpg");
 pdfSign.sign("Signature1", sig);
 pdfSign.save();

参数:

范围类型描述
SigNamejava.lang.String签名域的名称。
sigSignature签名的类型,可以是 PKCS1(Pkcs1Signature 对象)、PKCS7 和 PKCS7 detached(Pkcs7Signature 对象)

sign(String SigName, String SigReason, String SigContact, String SigLocation, Signature sig)

public void sign(String SigName, String SigReason, String SigContact, String SigLocation, Signature sig)

使用放置在已提供的签名字段中的给定类型签名对文档进行签名。签名前签名字段必须为空,即字段不能包含签名字典。因此pdf文档已经有签名域,你不应该提供盖章签名的地方,相应的页面和矩形取自通过签名名称找到的签名域(见SigName参数)。


String inFile = TestPath + "example1.pdf";
 String outFile = TestPath + "signature.pdf";
 PKCS1 sig = new PKCS1("certificate.pfx", "password");
 PdfFileSignature pdfSign = new PdfFileSignature(inFile, outFile);
 pdfSign.setSignatureAppearance ( TestPath + "butterfly.jpg");
 pdfSign.sign("Signature1", "Allen", "success", "ChangSha", sig);
 pdfSign.save();

参数:

范围类型描述
SigNamejava.lang.String签名域的名称。
SigReasonjava.lang.String签名的原因。
SigContactjava.lang.String签名联系方式。
SigLocationjava.lang.String签名的位置。
sigSignature签名的类型,可以是 PKCS1、PKCS7 和 PKCS7Detached。

toString()

public String toString()

退货: java.lang.字符串

verifySignature(String signName)

public boolean verifySignature(String signName)

检查签名的有效性。

参数:

范围类型描述
signNamejava.lang.String署名名称。

退货: boolean - 返回 bool 类型的结果。

verifySigned(String signName)

public boolean verifySigned(String signName)

检查签名的有效性。

参数:

范围类型描述
signNamejava.lang.String署名名称。

退货: boolean - 返回 bool 类型的结果。

wait()

public final void wait()

wait(long arg0)

public final native void wait(long arg0)

参数:

范围类型描述
arg0long

wait(long arg0, int arg1)

public final void wait(long arg0, int arg1)

参数:

范围类型描述
arg0long
arg1int