0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PythonでPDFファイルに電子署名を追加する

Posted at

デジタル時代において、文書のセキュリティと信頼性は特に重要になっています。ビジネス文書であれ、法的文書であれ、個人的な文書であれ、その出所の真正性と完全性を証明する必要があるかもしれません。PDF電子署名は、これらの問題を解決するための重要なツールです。
PDF電子署名は、文書のセキュリティを確保するだけでなく、紙文書の処理効率を向上させ、処理時間を短縮し、企業や個人に大きな利便性と安全性をもたらします。この記事では、PDF文書に電子署名を追加するためにPythonを使用する方法を紹介するために、次の2つの例を提供します。

必要なPythonライブラリのインストール

Spire.PDF for PythonライブラリがPDFへの電子署名の追加をサポートしました。以下のpipコマンドでインストールできます。

pip install Spire.PDF

ライブラリを更新するには:

pip install --upgrade Spire.PDF

PythonでPDFに可視署名を追加する

以下は、署名画像と詳細を含む可視デジタル署名をPDF文書に追加する主な手順です:

  1. PDF文書を読み込みます。
  2. PdfOrdinarySignatureMaker オブジェクトを作成し、PDF文書、pfx証明書、証明書パスワードをパラメータとして渡します。
  3. PdfOrdinarySignatureMaker クラスのプロパティを使用して、署名者名、連絡先、場所、署名理由などの署名の詳細を設定します。
  4. 署名用の PdfSignatureAppearance インスタンスを作成し、署名ラベルをカスタマイズして署名画像を設定します。
  5. PdfDocument.Pages[] プロパティを使用して、PDF 文書内の特定のページを取得します。
  6. PdfOrdinarySignatureMaker.MakeSignature(sigFieldName: str, page: PdfPageBase, x: float, y: float, width: float, height: float: IPdfSignatureAppearance) メソッドを使用して、ページ上の特定の位置に電子署名を追加します。
  7. 署名された 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に不可視署名を追加する手順は、以下に示すように、比較的簡単です:

  1. PDF文書を読み込みます。
  2. PdfOrdinarySignatureMaker オブジェクトを作成し、PDF 文書、pfx 証明書、証明書パスワードをパラメータとして渡します。
  3. PdfOrdinarySignatureMaker.MakeSignature(sigFieldName: str) メ ソ ッ ド を使っ て、PDF 文書に不可視の電子署名を追加 し ます。
  4. 署名付き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()

PdfDigitalSignature.png

上記の2つの例により、文書のセキュリティと真正性を確保するために、さまざまな場面で最適な署名方法を選択することができます。生成された文書の赤い透かしは、トライアルライセンスで削除することができます:

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?