Ревизия и разрешения

Aspose.PDF for Python via .NET предоставляет PdfFileSignature фасад для работы с подписанными и заверенными PDF‑документами. Помимо добавления подписей, вы также можете просматривать метаданные подписи, чтобы понять, сколько ревизий содержит документ и какие изменения разрешены после сертификации.

В этом примере демонстрируются три типовых задачи инспекции:

  1. Получить номер ревизии для существующей подписи.
  2. Получить общее количество ревизий в подписанном документе.
  3. Прочитать разрешения доступа из сертифицированного PDF.

Получение номер ревизии подписи

Используйте этот подход, когда PDF уже содержит одну или несколько подписей, и вам необходимо определить ревизию, связанную с конкретной подписью. Пример получает имя первой доступной подписи и затем вызывает get_revision().

import aspose.pdf.facades as pdf_facades
import sys
from os import path


def get_signature_revision(infile):
    pdf_signature = create_pdf_file_signature(infile)
    try:
        sign_name = require_signature_name(pdf_signature)
        signature_revision = pdf_signature.get_revision(sign_name)
        print(f"Signature Revision for '{sign_name}': {signature_revision}")
    finally:
        pdf_signature.close()

Получение общее количество ревизий документа

Использовать get_total_revision() когда вам нужно узнать, сколько ревизий хранится в подписанном PDF. Это полезно для проверки того, прошёл ли документ через несколько обновлений после применения оригинальной подписи.

import aspose.pdf.facades as pdf_facades
import sys
from os import path


def get_total_document_revisions(infile):
    pdf_signature = create_pdf_file_signature(infile)
    try:
        total_revisions = pdf_signature.get_total_revision()
        print(f"Total Document Revisions: {total_revisions}")
    finally:
        pdf_signature.close()

Получение разрешения доступа из сертифицированного PDF

Сертифицированные документы могут определять, какие изменения разрешены после сертификации. Использовать get_access_permissions() проверить этот уровень разрешений и определить, разрешает ли документ отсутствие изменений, заполнение форм или другие контролируемые модификации.

import aspose.pdf.facades as pdf_facades
import sys
from os import path


def get_access_permissions(infile):
    pdf_signature = create_pdf_file_signature(infile)
    try:
        access_permissions = pdf_signature.get_access_permissions()
        print(f"Access Permissions: {access_permissions}")
    finally:
        pdf_signature.close()