PDF ファイル署名クラス

PDF デジタル署名ヘルパーの準備

PDF にデジタル署名を適用する前に、再利用可能なヘルパー関数のグループを設定するのがベストプラクティスです。これらの関数には、署名ハンドラーの初期化、署名の視覚的配置の定義、証明書ベースの署名の設定などの一般的なタスクがカプセル化されているため、主要な署名ロジックは簡潔で一貫性があり、保守が容易な状態に保たれます。

このセットアップで達成できること

このヘルパーレイヤーは、スムーズな署名ワークフローに必要なものをすべて準備します。

  • PDFFileSignatureオブジェクトを初期化し、それをドキュメントにバインドします
  • 署名をページのどこに表示するかを定義します
  • 署名証明書を読み込んで適用します
  • メタデータを含む再利用可能な PKCS #7 署名オブジェクトを作成します
  • 署名の見た目をカスタマイズします
import aspose.pdf as ap
import aspose.pdf.facades as pdf_facades
import aspose.pydrawing as apd


DEFAULT_CERTIFICATE_PASSWORD = "Aspose2021"
DEFAULT_SIGNATURE_NAME = "Signature1"


def create_pdf_file_signature(infile):
    pdf_signature = pdf_facades.PdfFileSignature()
    pdf_signature.bind_pdf(infile)
    return pdf_signature


def create_signature_rectangle():
    return apd.Rectangle(10, 10, 200, 60)


def configure_signature_certificate(
    pdf_signature, certificate_path, certificate_password=DEFAULT_CERTIFICATE_PASSWORD
):
    pdf_signature.set_certificate(certificate_path, certificate_password)


def create_pkcs7_signature(
    certificate_path, certificate_password=DEFAULT_CERTIFICATE_PASSWORD
):
    signature = ap.forms.PKCS7(certificate_path, certificate_password)
    signature.reason = "Document approval"
    signature.contact_info = "qa@example.com"
    signature.location = "New York, USA"
    signature.authority = "Aspose.PDF Example"
    return signature


def create_custom_signature_appearance():
    appearance = ap.forms.SignatureCustomAppearance()
    appearance.font_family_name = "Arial"
    appearance.font_size = 10
    appearance.show_contact_info = True
    appearance.show_location = True
    appearance.show_reason = True
    return appearance