Класс PdfFileSignature
Contents
[
Hide
]
- Подписание PDF
- Сертификация 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