デジタル時代において、文書のセキュリティと信頼性は特に重要になっています。ビジネス文書であれ、法的文書であれ、個人的な文書であれ、その出所の真正性と完全性を証明する必要があるかもしれません。PDF電子署名は、これらの問題を解決するための重要なツールです。
PDF電子署名は、文書のセキュリティを確保するだけでなく、紙文書の処理効率を向上させ、処理時間を短縮し、企業や個人に大きな利便性と安全性をもたらします。この記事では、PDF文書に電子署名を追加するためにPythonを使用する方法を紹介するために、次の2つの例を提供します。
必要なPythonライブラリのインストール
Spire.PDF for PythonライブラリがPDFへの電子署名の追加をサポートしました。以下のpipコマンドでインストールできます。
pip install Spire.PDF
ライブラリを更新するには:
pip install --upgrade Spire.PDF
PythonでPDFに可視署名を追加する
以下は、署名画像と詳細を含む可視デジタル署名をPDF文書に追加する主な手順です:
- PDF文書を読み込みます。
-
PdfOrdinarySignatureMaker
オブジェクトを作成し、PDF文書、pfx証明書、証明書パスワードをパラメータとして渡します。 -
PdfOrdinarySignatureMaker
クラスのプロパティを使用して、署名者名、連絡先、場所、署名理由などの署名の詳細を設定します。 - 署名用の
PdfSignatureAppearance
インスタンスを作成し、署名ラベルをカスタマイズして署名画像を設定します。 -
PdfDocument.Pages[]
プロパティを使用して、PDF 文書内の特定のページを取得します。 -
PdfOrdinarySignatureMaker.MakeSignature(sigFieldName: str, page: PdfPageBase, x: float, y: float, width: float, height: float: IPdfSignatureAppearance)
メソッドを使用して、ページ上の特定の位置に電子署名を追加します。 - 署名された PDF 文書を保存します。
Pythonのコード:
from spire.pdf.common import *
from spire.pdf import *
# PDFファイルを読み込む
pdf = PdfDocument()
pdf.LoadFromFile("input.pdf")
# PdfOrdinarySignatureMakerの作成
signatureMaker = PdfOrdinarySignatureMaker(pdf, "gary.pfx", "e-iceblue")
# 署名プロパティの設定
signature = signatureMaker.Signature
signature.Name = "Gary"
signature.ContactInfo = "12345678"
signature.Location = "US"
signature.Reason = "Document creator"
# 署名の外観をカスタマイズする
appearance = PdfSignatureAppearance(signature)
appearance.NameLabel = "Signer: "
appearance.ContactInfoLabel = "Phone: "
appearance.LocationLabel = "Location: "
appearance.ReasonLabel = "Reason: "
# 署名画像の設定
appearance.SignatureImage = PdfImage.FromFile("C:\\Users\\Administrator\\Desktop\\Sig.jpg")
appearance.SignImageLayout = SignImageLayout.Stretch
# 署名画像と詳細の両方を表示する表示モードの設定
appearance.GraphicMode = GraphicMode.SignImageAndSignDetail
# 最初のページを見る
page = pdf.Pages[0]
# ページの指定された場所に署名を追加する
signatureMaker.MakeSignature("Gary签名", page, 150.0, 720.0, 260.0, 100.0, appearance)
# PDF文書を保存する
pdf.SaveToFile("PDFSignature.pdf")
pdf.Close()
PythonでPDFに不可視署名を追加する
可視デジタル署名は、PDFページ上の署名画像や署名の詳細を表示しますので、時にはそれは文書の外観に影響を与える可能性があり、一方、不可視署名は、文書の外観をきれいに保つことができます。PDFに不可視署名を追加する手順は、以下に示すように、比較的簡単です:
- PDF文書を読み込みます。
-
PdfOrdinarySignatureMaker
オブジェクトを作成し、PDF 文書、pfx 証明書、証明書パスワードをパラメータとして渡します。 -
PdfOrdinarySignatureMaker.MakeSignature(sigFieldName: str)
メ ソ ッ ド を使っ て、PDF 文書に不可視の電子署名を追加 し ます。 - 署名付きPDF文書を保存します。
Pythonのコード:
from spire.pdf.common import *
from spire.pdf import *
# PDFファイルを読み込む
pdf = PdfDocument()
pdf.LoadFromFile("inputR.pdf")
# PdfOrdinarySignatureMakerの作成
signatureMaker = PdfOrdinarySignatureMaker(pdf, "gary.pfx", "e-iceblue")
# 文書に不可視の署名を追加する
signatureMaker.MakeSignature("署名: Gary")
# PDF文書を保存する
pdf.SaveToFile("PdfDigitalSignature.pdf")
pdf.Close()
上記の2つの例により、文書のセキュリティと真正性を確保するために、さまざまな場面で最適な署名方法を選択することができます。生成された文書の赤い透かしは、トライアルライセンスで削除することができます: