Ревизия и разрешения
Aspose.PDF for Python via .NET предоставляет PdfFileSignature фасад для работы с подписанными и заверенными PDF‑документами. Помимо добавления подписей, вы также можете просматривать метаданные подписи, чтобы понять, сколько ревизий содержит документ и какие изменения разрешены после сертификации.
В этом примере демонстрируются три типовых задачи инспекции:
- Получить номер ревизии для существующей подписи.
- Получить общее количество ревизий в подписанном документе.
- Прочитать разрешения доступа из сертифицированного 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()