签名信息
Contents
[
Hide
]
Aspose.PDF for Python via .NET 提供了 PdfFileSignature 用于检查 PDF 文档中数字签名的外观层。文档签署后,您可以使用它读取签名名称并检索元数据,如签署人姓名、联系信息、签署时间、原因和位置。
本示例演示了四个常见的签名信息任务:
- 列出已签名 PDF 中的所有签名名称。
- 读取所选签名的签署人详细信息。
- 获取签署日期和时间。
- 读取签名原因和位置。
获取签名名称
当 PDF 可能包含一个或多个签名且您想检查哪些签名条目可用时,请使用此方法。示例打开文档并打印返回的列表。 get_sign_names().
import aspose.pdf.facades as pdf_facades
import sys
from os import path
def get_signature_names(infile):
pdf_signature = create_pdf_file_signature(infile)
try:
signature_names = list_signature_names(pdf_signature)
print(f"Signature Names: {signature_names}")
finally:
pdf_signature.close()
获取签署者详细信息
一旦您知道签名名称,就可以检索特定签名者的元数据。本示例读取文档中第一个可用签名的签名者姓名和联系信息。
import aspose.pdf.facades as pdf_facades
import sys
from os import path
def get_signer_details(infile):
pdf_signature = create_pdf_file_signature(infile)
try:
sign_name = require_signature_name(pdf_signature)
signer_name = pdf_signature.get_signer_name(sign_name)
contact_info = pdf_signature.get_contact_info(sign_name)
print(
f"Signer Details for '{sign_name}': "
f"signer_name={signer_name}, contact_info={contact_info}"
)
finally:
pdf_signature.close()
获取签名日期和时间
使用 get_date_time() 用于确定特定签名何时被应用。这对于审计以及在文档工作流中显示签名历史非常有用。
import aspose.pdf.facades as pdf_facades
import sys
from os import path
def get_signature_date_and_time(infile):
pdf_signature = create_pdf_file_signature(infile)
try:
sign_name = require_signature_name(pdf_signature)
signature_date = pdf_signature.get_date_time(sign_name)
print(f"Signature Date and Time for '{sign_name}': {signature_date}")
finally:
pdf_signature.close()
获取签名原因和位置
数字签名还可以存储描述性元数据,例如签名原因和位置。本例检索所选签名的这两个值并将它们一起打印。
import aspose.pdf.facades as pdf_facades
import sys
from os import path
def get_signature_reason_and_location(infile):
pdf_signature = create_pdf_file_signature(infile)
try:
sign_name = require_signature_name(pdf_signature)
signature_reason = pdf_signature.get_reason(sign_name)
signature_location = pdf_signature.get_location(sign_name)
print(
f"Signature Reason and Location for '{sign_name}': "
f"reason={signature_reason}, location={signature_location}"
)
finally:
pdf_signature.close()